csspool 0.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.
@@ -0,0 +1,2346 @@
1
+ class CSS::SAC::GeneratedPropertyParser
2
+
3
+ token ANGLE COLOR URI PERCENTAGE LENGTH EMS EXS STRING IDENT INTEGER COMMA
4
+ token TIME NUMBER FREQ HASH
5
+
6
+ rule
7
+ property
8
+ : azimuth
9
+ | background_attachment
10
+ | background_color
11
+ | background_image
12
+ | background_position
13
+ | background_repeat
14
+ | background
15
+ | border_collapse
16
+ | border_color
17
+ | border_spacing
18
+ | border_style
19
+ | border_trbl
20
+ | border_trbl_color
21
+ | border_trbl_style
22
+ | border_trbl_width
23
+ | border_width
24
+ | border
25
+ | bottom
26
+ | caption_side
27
+ | clear
28
+ | clip
29
+ | color_lex
30
+ | content
31
+ | counter_increment_or_reset
32
+ | cue_after_or_before
33
+ | cue
34
+ | cursor
35
+ | direction
36
+ | display
37
+ | elevation
38
+ | empty_cells
39
+ | float
40
+ | font_family
41
+ | font_size
42
+ | font_style
43
+ | font_variant
44
+ | font_weight
45
+ | font
46
+ | hlrt
47
+ | letter_spacing
48
+ | line_height
49
+ | list_style_image
50
+ | list_style_position
51
+ | list_style_type
52
+ | list_style
53
+ | margin_rltb
54
+ | margin
55
+ | max_height_or_width
56
+ | min_height_or_width
57
+ | orphans
58
+ | outline_color
59
+ | outline_style
60
+ | outline_width
61
+ | outline
62
+ | overflow
63
+ | padding_trbl
64
+ | padding
65
+ | page_break_ab
66
+ | page_break_inside
67
+ | pause_ab
68
+ | pause
69
+ | pitch_range
70
+ | pitch
71
+ | play_during
72
+ | position
73
+ | quotes
74
+ | richness
75
+ | speak_header
76
+ | speak_numeral
77
+ | speak_punctuation
78
+ | speak
79
+ | speech_rate
80
+ | stress
81
+ | table_layout
82
+ | text_align
83
+ | text_decoration
84
+ | text_indent
85
+ | text_transform
86
+ | unicode_bidi
87
+ | vertical_align
88
+ | visibility
89
+ | voice_family
90
+ | volume
91
+ | white_space
92
+ | windows
93
+ | width
94
+ | word_spacing
95
+ | z_index
96
+ ;
97
+ angle
98
+ : ANGLE { result = CSS::SAC::Number.new(val.first) }
99
+ | zero
100
+ ;
101
+ percentage
102
+ : PERCENTAGE { result = CSS::SAC::Number.new(val.first) }
103
+ | zero
104
+ ;
105
+ time
106
+ : TIME { result = CSS::SAC::Number.new(val.first) }
107
+ | zero
108
+ ;
109
+ number
110
+ : NUMBER { result = CSS::SAC::Number.new(val.first) }
111
+ ;
112
+ integer
113
+ : NUMBER { result = CSS::SAC::Number.new(val.first) }
114
+ ;
115
+ frequency
116
+ : FREQ { result = CSS::SAC::Number.new(val.first) }
117
+ | zero
118
+ ;
119
+ string
120
+ : STRING { result = LexicalString.new(val.first) }
121
+ ;
122
+ uri
123
+ : URI { result = LexicalURI.new(val.first) }
124
+ ;
125
+ length
126
+ : length_values { result = CSS::SAC::Number.new(val.first) }
127
+ | zero
128
+ ;
129
+ auto
130
+ : 'auto' { result = LexicalIdent.new(val.first) }
131
+ ;
132
+ inherit
133
+ : 'inherit' { result = LexicalIdent.new(val.first) }
134
+ ;
135
+ invert
136
+ : 'invert' { result = LexicalIdent.new(val.first) }
137
+ ;
138
+ ident
139
+ : IDENT { result = LexicalIdent.new(val.first) }
140
+ ;
141
+ none
142
+ : 'none' { result = LexicalIdent.new(val.first) }
143
+ ;
144
+ normal
145
+ : 'normal' { result = LexicalIdent.new(val.first) }
146
+ ;
147
+ transparent
148
+ : 'transparent' { result = LexicalIdent.new(val.first) }
149
+ ;
150
+ length_values
151
+ : LENGTH
152
+ | EMS
153
+ | EXS
154
+ ;
155
+ zero
156
+ : '0' { result = CSS::SAC::Number.new('0') }
157
+ ;
158
+ color
159
+ : COLOR
160
+ | HASH { result = Color.new(val.first) }
161
+ | color_names { result = LexicalIdent.new(val.first) }
162
+ ;
163
+ color_names
164
+ : 'aqua'
165
+ | 'black'
166
+ | 'blue'
167
+ | 'fuchsia'
168
+ | 'gray'
169
+ | 'green'
170
+ | 'lime'
171
+ | 'maroon'
172
+ | 'navy'
173
+ | 'olive'
174
+ | 'orange'
175
+ | 'purple'
176
+ | 'red'
177
+ | 'silver'
178
+ | 'teal'
179
+ | 'white'
180
+ | 'yellow'
181
+ ;
182
+ azimuth
183
+ : 'azimuth' ANGLE { result = CSS::SAC::Number.new(val[1]) }
184
+ | 'azimuth' azimuth_side_and_behind {
185
+ result = [val[1]].flatten.map { |x|
186
+ LexicalIdent.new(x)
187
+ }
188
+ }
189
+ | 'azimuth' 'leftwards' { result = LexicalIdent.new(val[1]) }
190
+ | 'azimuth' 'rightwards' { result = LexicalIdent.new(val[1]) }
191
+ | 'azimuth' inherit { result = val[1] }
192
+ ;
193
+ azimuth_side_and_behind
194
+ : azimuth_side_values 'behind' { result = val }
195
+ | 'behind' azimuth_side_values { result = val }
196
+ | azimuth_side_values
197
+ | 'behind'
198
+ ;
199
+ azimuth_side_values
200
+ : 'left-side'
201
+ | 'far-left'
202
+ | 'left'
203
+ | 'center-left'
204
+ | 'center'
205
+ | 'center-right'
206
+ | 'right'
207
+ | 'far-right'
208
+ | 'right-side'
209
+ ;
210
+ background_attachment
211
+ : 'background-attachment' background_attachment_values {
212
+ result = val[1]
213
+ }
214
+ | 'background-attachment' inherit { result = val[1] }
215
+ ;
216
+ background_attachment_values
217
+ : background_attachment_values_ident {
218
+ result = LexicalIdent.new(val.first)
219
+ }
220
+ ;
221
+ background_attachment_values_ident
222
+ : 'scroll'
223
+ | 'fixed'
224
+ ;
225
+ background_color
226
+ : 'background-color' background_color_values { result = val[1] }
227
+ | 'background-color' inherit { result = val[1] }
228
+ ;
229
+ background_color_values
230
+ : color
231
+ | transparent
232
+ ;
233
+ background_image
234
+ : 'background-image' background_image_values { result = val[1] }
235
+ | 'background-image' inherit { result = val[1] }
236
+ ;
237
+ background_image_values
238
+ : uri
239
+ | 'none' { result = LexicalIdent.new(val.first) }
240
+ ;
241
+ background_position
242
+ : 'background-position' background_position_values {
243
+ result = [val[1]].flatten.compact
244
+ }
245
+ | 'background-position' inherit { result = val[1] }
246
+ ;
247
+ background_position_values
248
+ : pl_left_center_right optional_pl_top_center_bottom { result = val }
249
+ | left_center_right top_center_bottom { result = val }
250
+ | top_center_bottom left_center_right { result = val }
251
+ | left_center_right
252
+ | top_center_bottom
253
+ ;
254
+ pl_left_center_right
255
+ : percentage
256
+ | length
257
+ | left_center_right
258
+ ;
259
+ left_center_right
260
+ : left_center_right_values { result = LexicalIdent.new(val.first) }
261
+ ;
262
+ left_center_right_values
263
+ : 'left'
264
+ | 'center'
265
+ | 'right'
266
+ ;
267
+ optional_pl_top_center_bottom
268
+ : percentage
269
+ | length
270
+ | top_center_bottom
271
+ |
272
+ ;
273
+ top_center_bottom
274
+ : top_center_bottom_values { result = LexicalIdent.new(val.first) }
275
+ ;
276
+ top_center_bottom_values
277
+ : 'top'
278
+ | 'center'
279
+ | 'bottom'
280
+ ;
281
+ background_repeat
282
+ : 'background-repeat' background_repeat_values { result = val[1] }
283
+ | 'background-repeat' inherit { result = val[1] }
284
+ ;
285
+ background_repeat_values
286
+ : background_repeat_values_ident { result = LexicalIdent.new(val.first) }
287
+ ;
288
+ background_repeat_values_ident
289
+ : 'repeat'
290
+ | 'repeat-x'
291
+ | 'repeat-y'
292
+ | 'no-repeat'
293
+ ;
294
+ background
295
+ : 'background' background_values { result = [val[1]].flatten.compact }
296
+ | 'background' inherit { result = val[1] }
297
+ ;
298
+ background_values
299
+
300
+ : background_color_values background_image_values background_repeat_values background_attachment_values background_position_values { result = val }
301
+
302
+ | background_position_values background_attachment_values background_repeat_values background_image_values background_color_values { result = val }
303
+
304
+ | background_color_values background_image_values background_repeat_values background_position_values background_attachment_values { result = val }
305
+
306
+ | background_position_values background_attachment_values background_repeat_values background_color_values background_image_values { result = val }
307
+
308
+ | background_color_values background_image_values background_attachment_values background_repeat_values background_position_values { result = val }
309
+
310
+ | background_position_values background_attachment_values background_image_values background_repeat_values background_color_values { result = val }
311
+
312
+ | background_color_values background_image_values background_attachment_values background_position_values background_repeat_values { result = val }
313
+
314
+ | background_position_values background_attachment_values background_image_values background_color_values background_repeat_values { result = val }
315
+
316
+ | background_color_values background_image_values background_position_values background_repeat_values background_attachment_values { result = val }
317
+
318
+ | background_position_values background_attachment_values background_color_values background_repeat_values background_image_values { result = val }
319
+
320
+ | background_color_values background_image_values background_position_values background_attachment_values background_repeat_values { result = val }
321
+
322
+ | background_position_values background_attachment_values background_color_values background_image_values background_repeat_values { result = val }
323
+
324
+ | background_color_values background_repeat_values background_image_values background_attachment_values background_position_values { result = val }
325
+
326
+ | background_position_values background_repeat_values background_attachment_values background_image_values background_color_values { result = val }
327
+
328
+ | background_color_values background_repeat_values background_image_values background_position_values background_attachment_values { result = val }
329
+
330
+ | background_position_values background_repeat_values background_attachment_values background_color_values background_image_values { result = val }
331
+
332
+ | background_color_values background_repeat_values background_attachment_values background_image_values background_position_values { result = val }
333
+
334
+ | background_position_values background_repeat_values background_image_values background_attachment_values background_color_values { result = val }
335
+
336
+ | background_color_values background_repeat_values background_attachment_values background_position_values background_image_values { result = val }
337
+
338
+ | background_position_values background_repeat_values background_image_values background_color_values background_attachment_values { result = val }
339
+
340
+ | background_color_values background_repeat_values background_position_values background_image_values background_attachment_values { result = val }
341
+
342
+ | background_position_values background_repeat_values background_color_values background_attachment_values background_image_values { result = val }
343
+
344
+ | background_color_values background_repeat_values background_position_values background_attachment_values background_image_values { result = val }
345
+
346
+ | background_position_values background_repeat_values background_color_values background_image_values background_attachment_values { result = val }
347
+
348
+ | background_color_values background_attachment_values background_image_values background_repeat_values background_position_values { result = val }
349
+
350
+ | background_position_values background_image_values background_attachment_values background_repeat_values background_color_values { result = val }
351
+
352
+ | background_color_values background_attachment_values background_image_values background_position_values background_repeat_values { result = val }
353
+
354
+ | background_position_values background_image_values background_attachment_values background_color_values background_repeat_values { result = val }
355
+
356
+ | background_color_values background_attachment_values background_repeat_values background_image_values background_position_values { result = val }
357
+
358
+ | background_position_values background_image_values background_repeat_values background_attachment_values background_color_values { result = val }
359
+
360
+ | background_color_values background_attachment_values background_repeat_values background_position_values background_image_values { result = val }
361
+
362
+ | background_position_values background_image_values background_repeat_values background_color_values background_attachment_values { result = val }
363
+
364
+ | background_color_values background_attachment_values background_position_values background_image_values background_repeat_values { result = val }
365
+
366
+ | background_position_values background_image_values background_color_values background_attachment_values background_repeat_values { result = val }
367
+
368
+ | background_color_values background_attachment_values background_position_values background_repeat_values background_image_values { result = val }
369
+
370
+ | background_position_values background_image_values background_color_values background_repeat_values background_attachment_values { result = val }
371
+
372
+ | background_color_values background_position_values background_image_values background_repeat_values background_attachment_values { result = val }
373
+
374
+ | background_position_values background_color_values background_attachment_values background_repeat_values background_image_values { result = val }
375
+
376
+ | background_color_values background_position_values background_image_values background_attachment_values background_repeat_values { result = val }
377
+
378
+ | background_position_values background_color_values background_attachment_values background_image_values background_repeat_values { result = val }
379
+
380
+ | background_color_values background_position_values background_repeat_values background_image_values background_attachment_values { result = val }
381
+
382
+ | background_position_values background_color_values background_repeat_values background_attachment_values background_image_values { result = val }
383
+
384
+ | background_color_values background_position_values background_repeat_values background_attachment_values background_image_values { result = val }
385
+
386
+ | background_position_values background_color_values background_repeat_values background_image_values background_attachment_values { result = val }
387
+
388
+ | background_color_values background_position_values background_attachment_values background_image_values background_repeat_values { result = val }
389
+
390
+ | background_position_values background_color_values background_image_values background_attachment_values background_repeat_values { result = val }
391
+
392
+ | background_color_values background_position_values background_attachment_values background_repeat_values background_image_values { result = val }
393
+
394
+ | background_position_values background_color_values background_image_values background_repeat_values background_attachment_values { result = val }
395
+
396
+ | background_image_values background_color_values background_repeat_values background_attachment_values background_position_values { result = val }
397
+
398
+ | background_image_values background_color_values background_repeat_values background_position_values background_attachment_values { result = val }
399
+
400
+ | background_attachment_values background_position_values background_repeat_values background_image_values background_color_values { result = val }
401
+
402
+ | background_image_values background_color_values background_attachment_values background_repeat_values background_position_values { result = val }
403
+
404
+ | background_image_values background_color_values background_attachment_values background_position_values background_repeat_values { result = val }
405
+
406
+ | background_attachment_values background_position_values background_repeat_values background_color_values background_image_values { result = val }
407
+
408
+ | background_image_values background_color_values background_position_values background_repeat_values background_attachment_values { result = val }
409
+
410
+ | background_image_values background_color_values background_position_values background_attachment_values background_repeat_values { result = val }
411
+
412
+ | background_attachment_values background_position_values background_image_values background_repeat_values background_color_values { result = val }
413
+
414
+ | background_image_values background_repeat_values background_color_values background_attachment_values background_position_values { result = val }
415
+
416
+ | background_image_values background_repeat_values background_color_values background_position_values background_attachment_values { result = val }
417
+
418
+ | background_attachment_values background_position_values background_image_values background_color_values background_repeat_values { result = val }
419
+
420
+ | background_image_values background_repeat_values background_attachment_values background_color_values background_position_values { result = val }
421
+
422
+ | background_image_values background_repeat_values background_attachment_values background_position_values background_color_values { result = val }
423
+
424
+ | background_attachment_values background_position_values background_color_values background_repeat_values background_image_values { result = val }
425
+
426
+ | background_image_values background_repeat_values background_position_values background_color_values background_attachment_values { result = val }
427
+
428
+ | background_image_values background_repeat_values background_position_values background_attachment_values background_color_values { result = val }
429
+
430
+ | background_attachment_values background_position_values background_color_values background_image_values background_repeat_values { result = val }
431
+
432
+ | background_image_values background_attachment_values background_color_values background_repeat_values background_position_values { result = val }
433
+
434
+ | background_attachment_values background_repeat_values background_position_values background_image_values background_color_values { result = val }
435
+
436
+ | background_image_values background_attachment_values background_color_values background_position_values background_repeat_values { result = val }
437
+
438
+ | background_attachment_values background_repeat_values background_position_values background_color_values background_image_values { result = val }
439
+
440
+ | background_image_values background_attachment_values background_repeat_values background_color_values background_position_values { result = val }
441
+
442
+ | background_attachment_values background_repeat_values background_image_values background_position_values background_color_values { result = val }
443
+
444
+ | background_image_values background_attachment_values background_repeat_values background_position_values background_color_values { result = val }
445
+
446
+ | background_attachment_values background_repeat_values background_image_values background_color_values background_position_values { result = val }
447
+
448
+ | background_image_values background_attachment_values background_position_values background_color_values background_repeat_values { result = val }
449
+
450
+ | background_attachment_values background_repeat_values background_color_values background_position_values background_image_values { result = val }
451
+
452
+ | background_image_values background_attachment_values background_position_values background_repeat_values background_color_values { result = val }
453
+
454
+ | background_attachment_values background_repeat_values background_color_values background_image_values background_position_values { result = val }
455
+
456
+ | background_image_values background_position_values background_color_values background_repeat_values background_attachment_values { result = val }
457
+
458
+ | background_attachment_values background_image_values background_position_values background_repeat_values background_color_values { result = val }
459
+
460
+ | background_image_values background_position_values background_color_values background_attachment_values background_repeat_values { result = val }
461
+
462
+ | background_attachment_values background_image_values background_position_values background_color_values background_repeat_values { result = val }
463
+
464
+ | background_image_values background_position_values background_repeat_values background_color_values background_attachment_values { result = val }
465
+
466
+ | background_attachment_values background_image_values background_repeat_values background_position_values background_color_values { result = val }
467
+
468
+ | background_image_values background_position_values background_repeat_values background_attachment_values background_color_values { result = val }
469
+
470
+ | background_attachment_values background_image_values background_repeat_values background_color_values background_position_values { result = val }
471
+
472
+ | background_image_values background_position_values background_attachment_values background_color_values background_repeat_values { result = val }
473
+
474
+ | background_attachment_values background_image_values background_color_values background_position_values background_repeat_values { result = val }
475
+
476
+ | background_image_values background_position_values background_attachment_values background_repeat_values background_color_values { result = val }
477
+
478
+ | background_attachment_values background_image_values background_color_values background_repeat_values background_position_values { result = val }
479
+
480
+ | background_repeat_values background_color_values background_image_values background_attachment_values background_position_values { result = val }
481
+
482
+ | background_attachment_values background_color_values background_position_values background_repeat_values background_image_values { result = val }
483
+
484
+ | background_repeat_values background_color_values background_image_values background_position_values background_attachment_values { result = val }
485
+
486
+ | background_attachment_values background_color_values background_position_values background_image_values background_repeat_values { result = val }
487
+
488
+ | background_repeat_values background_color_values background_attachment_values background_image_values background_position_values { result = val }
489
+
490
+ | background_attachment_values background_color_values background_repeat_values background_position_values background_image_values { result = val }
491
+
492
+ | background_repeat_values background_color_values background_attachment_values background_position_values background_image_values { result = val }
493
+
494
+ | background_attachment_values background_color_values background_repeat_values background_image_values background_position_values { result = val }
495
+
496
+ | background_repeat_values background_color_values background_position_values background_image_values background_attachment_values { result = val }
497
+
498
+ | background_attachment_values background_color_values background_image_values background_position_values background_repeat_values { result = val }
499
+
500
+ | background_repeat_values background_color_values background_position_values background_attachment_values background_image_values { result = val }
501
+
502
+ | background_attachment_values background_color_values background_image_values background_repeat_values background_position_values { result = val }
503
+
504
+ | background_repeat_values background_image_values background_color_values background_attachment_values background_position_values { result = val }
505
+
506
+ | background_repeat_values background_image_values background_color_values background_position_values background_attachment_values { result = val }
507
+
508
+ | background_repeat_values background_position_values background_attachment_values background_image_values background_color_values { result = val }
509
+
510
+ | background_repeat_values background_image_values background_attachment_values background_color_values background_position_values { result = val }
511
+
512
+ | background_repeat_values background_image_values background_attachment_values background_position_values background_color_values { result = val }
513
+
514
+ | background_repeat_values background_position_values background_attachment_values background_color_values background_image_values { result = val }
515
+
516
+ | background_repeat_values background_image_values background_position_values background_color_values background_attachment_values { result = val }
517
+
518
+ | background_repeat_values background_image_values background_position_values background_attachment_values background_color_values { result = val }
519
+
520
+ | background_repeat_values background_position_values background_image_values background_attachment_values background_color_values { result = val }
521
+
522
+ | background_repeat_values background_attachment_values background_color_values background_image_values background_position_values { result = val }
523
+
524
+ | background_repeat_values background_attachment_values background_color_values background_position_values background_image_values { result = val }
525
+
526
+ | background_repeat_values background_position_values background_image_values background_color_values background_attachment_values { result = val }
527
+
528
+ | background_repeat_values background_attachment_values background_image_values background_color_values background_position_values { result = val }
529
+
530
+ | background_repeat_values background_attachment_values background_image_values background_position_values background_color_values { result = val }
531
+
532
+ | background_repeat_values background_position_values background_color_values background_attachment_values background_image_values { result = val }
533
+
534
+ | background_repeat_values background_attachment_values background_position_values background_color_values background_image_values { result = val }
535
+
536
+ | background_repeat_values background_attachment_values background_position_values background_image_values background_color_values { result = val }
537
+
538
+ | background_repeat_values background_position_values background_color_values background_image_values background_attachment_values { result = val }
539
+
540
+ | background_color_values background_repeat_values background_image_values background_attachment_values { result = val }
541
+
542
+ | background_attachment_values background_repeat_values background_image_values background_color_values { result = val }
543
+
544
+ | background_attachment_values background_position_values background_image_values background_color_values { result = val }
545
+
546
+ | background_position_values background_color_values background_image_values background_attachment_values { result = val }
547
+
548
+ | background_image_values background_repeat_values background_attachment_values background_position_values { result = val }
549
+
550
+ | background_attachment_values background_repeat_values background_color_values background_image_values { result = val }
551
+
552
+ | background_attachment_values background_position_values background_color_values background_image_values { result = val }
553
+
554
+ | background_image_values background_repeat_values background_position_values background_attachment_values { result = val }
555
+
556
+ | background_attachment_values background_image_values background_repeat_values background_color_values { result = val }
557
+
558
+ | background_attachment_values background_image_values background_position_values background_color_values { result = val }
559
+
560
+ | background_position_values background_color_values background_attachment_values background_image_values { result = val }
561
+
562
+ | background_image_values background_attachment_values background_repeat_values background_position_values { result = val }
563
+
564
+ | background_attachment_values background_image_values background_color_values background_position_values { result = val }
565
+
566
+ | background_attachment_values background_image_values background_color_values background_repeat_values { result = val }
567
+
568
+ | background_image_values background_attachment_values background_position_values background_repeat_values { result = val }
569
+
570
+ | background_attachment_values background_color_values background_position_values background_image_values { result = val }
571
+
572
+ | background_position_values background_image_values background_color_values background_attachment_values { result = val }
573
+
574
+ | background_attachment_values background_color_values background_repeat_values background_image_values { result = val }
575
+
576
+ | background_attachment_values background_color_values background_image_values background_position_values { result = val }
577
+
578
+ | background_image_values background_position_values background_repeat_values background_attachment_values { result = val }
579
+
580
+ | background_image_values background_position_values background_attachment_values background_color_values { result = val }
581
+
582
+ | background_position_values background_image_values background_attachment_values background_color_values { result = val }
583
+
584
+ | background_image_values background_position_values background_color_values background_attachment_values { result = val }
585
+
586
+ | background_attachment_values background_color_values background_image_values background_repeat_values { result = val }
587
+
588
+ | background_image_values background_attachment_values background_position_values background_color_values { result = val }
589
+
590
+ | background_position_values background_attachment_values background_color_values background_image_values { result = val }
591
+
592
+ | background_image_values background_attachment_values background_color_values background_position_values { result = val }
593
+
594
+ | background_image_values background_position_values background_attachment_values background_repeat_values { result = val }
595
+
596
+ | background_image_values background_color_values background_position_values background_attachment_values { result = val }
597
+
598
+ | background_position_values background_attachment_values background_image_values background_color_values { result = val }
599
+
600
+ | background_image_values background_color_values background_attachment_values background_position_values { result = val }
601
+
602
+ | background_repeat_values background_attachment_values background_image_values background_color_values { result = val }
603
+
604
+ | background_color_values background_position_values background_attachment_values background_image_values { result = val }
605
+
606
+ | background_color_values background_image_values background_repeat_values background_position_values { result = val }
607
+
608
+ | background_color_values background_position_values background_image_values background_attachment_values { result = val }
609
+
610
+ | background_color_values background_image_values background_position_values background_repeat_values { result = val }
611
+
612
+ | background_color_values background_attachment_values background_position_values background_image_values { result = val }
613
+
614
+ | background_color_values background_repeat_values background_image_values background_position_values { result = val }
615
+
616
+ | background_color_values background_attachment_values background_image_values background_position_values { result = val }
617
+
618
+ | background_color_values background_repeat_values background_position_values background_image_values { result = val }
619
+
620
+ | background_color_values background_image_values background_position_values background_attachment_values { result = val }
621
+
622
+ | background_color_values background_position_values background_image_values background_repeat_values { result = val }
623
+
624
+ | background_color_values background_image_values background_attachment_values background_position_values { result = val }
625
+
626
+ | background_color_values background_position_values background_repeat_values background_image_values { result = val }
627
+
628
+ | background_repeat_values background_image_values background_attachment_values background_position_values { result = val }
629
+
630
+ | background_position_values background_attachment_values background_repeat_values background_color_values { result = val }
631
+
632
+ | background_image_values background_color_values background_repeat_values background_position_values { result = val }
633
+
634
+ | background_repeat_values background_attachment_values background_color_values background_image_values { result = val }
635
+
636
+ | background_position_values background_attachment_values background_color_values background_repeat_values { result = val }
637
+
638
+ | background_image_values background_color_values background_position_values background_repeat_values { result = val }
639
+
640
+ | background_repeat_values background_image_values background_position_values background_attachment_values { result = val }
641
+
642
+ | background_position_values background_repeat_values background_attachment_values background_color_values { result = val }
643
+
644
+ | background_image_values background_repeat_values background_color_values background_position_values { result = val }
645
+
646
+ | background_repeat_values background_image_values background_attachment_values background_color_values { result = val }
647
+
648
+ | background_position_values background_repeat_values background_color_values background_attachment_values { result = val }
649
+
650
+ | background_image_values background_repeat_values background_position_values background_color_values { result = val }
651
+
652
+ | background_repeat_values background_attachment_values background_image_values background_position_values { result = val }
653
+
654
+ | background_position_values background_color_values background_attachment_values background_repeat_values { result = val }
655
+
656
+ | background_image_values background_position_values background_color_values background_repeat_values { result = val }
657
+
658
+ | background_repeat_values background_image_values background_color_values background_attachment_values { result = val }
659
+
660
+ | background_position_values background_color_values background_repeat_values background_attachment_values { result = val }
661
+
662
+ | background_image_values background_position_values background_repeat_values background_color_values { result = val }
663
+
664
+ | background_repeat_values background_attachment_values background_position_values background_image_values { result = val }
665
+
666
+ | background_repeat_values background_color_values background_attachment_values background_image_values { result = val }
667
+
668
+ | background_attachment_values background_position_values background_repeat_values background_color_values { result = val }
669
+
670
+ | background_repeat_values background_color_values background_image_values background_position_values { result = val }
671
+
672
+ | background_repeat_values background_position_values background_image_values background_attachment_values { result = val }
673
+
674
+ | background_repeat_values background_color_values background_image_values background_attachment_values { result = val }
675
+
676
+ | background_attachment_values background_position_values background_color_values background_repeat_values { result = val }
677
+
678
+ | background_repeat_values background_color_values background_position_values background_image_values { result = val }
679
+
680
+ | background_repeat_values background_position_values background_attachment_values background_image_values { result = val }
681
+
682
+ | background_attachment_values background_repeat_values background_position_values background_color_values { result = val }
683
+
684
+ | background_repeat_values background_image_values background_color_values background_position_values { result = val }
685
+
686
+ | background_image_values background_attachment_values background_repeat_values background_color_values { result = val }
687
+
688
+ | background_attachment_values background_repeat_values background_color_values background_position_values { result = val }
689
+
690
+ | background_repeat_values background_image_values background_position_values background_color_values { result = val }
691
+
692
+ | background_attachment_values background_image_values background_repeat_values background_position_values { result = val }
693
+
694
+ | background_attachment_values background_color_values background_position_values background_repeat_values { result = val }
695
+
696
+ | background_repeat_values background_position_values background_color_values background_image_values { result = val }
697
+
698
+ | background_image_values background_attachment_values background_color_values background_repeat_values { result = val }
699
+
700
+ | background_attachment_values background_color_values background_repeat_values background_position_values { result = val }
701
+
702
+ | background_repeat_values background_position_values background_image_values background_color_values { result = val }
703
+
704
+ | background_attachment_values background_image_values background_position_values background_repeat_values { result = val }
705
+
706
+ | background_image_values background_repeat_values background_attachment_values background_color_values { result = val }
707
+
708
+ | background_repeat_values background_position_values background_attachment_values background_color_values { result = val }
709
+
710
+ | background_position_values background_color_values background_image_values background_repeat_values { result = val }
711
+
712
+ | background_attachment_values background_repeat_values background_image_values background_position_values { result = val }
713
+
714
+ | background_image_values background_repeat_values background_color_values background_attachment_values { result = val }
715
+
716
+ | background_repeat_values background_position_values background_color_values background_attachment_values { result = val }
717
+
718
+ | background_attachment_values background_repeat_values background_position_values background_image_values { result = val }
719
+
720
+ | background_image_values background_color_values background_attachment_values background_repeat_values { result = val }
721
+
722
+ | background_attachment_values background_position_values background_image_values background_repeat_values { result = val }
723
+
724
+ | background_image_values background_color_values background_repeat_values background_attachment_values { result = val }
725
+
726
+ | background_repeat_values background_attachment_values background_position_values background_color_values { result = val }
727
+
728
+ | background_position_values background_color_values background_repeat_values background_image_values { result = val }
729
+
730
+ | background_attachment_values background_position_values background_repeat_values background_image_values { result = val }
731
+
732
+ | background_color_values background_attachment_values background_repeat_values background_image_values { result = val }
733
+
734
+ | background_repeat_values background_attachment_values background_color_values background_position_values { result = val }
735
+
736
+ | background_position_values background_image_values background_repeat_values background_attachment_values { result = val }
737
+
738
+ | background_color_values background_attachment_values background_image_values background_repeat_values { result = val }
739
+
740
+ | background_repeat_values background_color_values background_position_values background_attachment_values { result = val }
741
+
742
+ | background_position_values background_image_values background_color_values background_repeat_values { result = val }
743
+
744
+ | background_position_values background_image_values background_attachment_values background_repeat_values { result = val }
745
+
746
+ | background_repeat_values background_color_values background_attachment_values background_position_values { result = val }
747
+
748
+ | background_color_values background_repeat_values background_attachment_values background_image_values { result = val }
749
+
750
+ | background_color_values background_position_values background_attachment_values background_repeat_values { result = val }
751
+
752
+ | background_position_values background_image_values background_repeat_values background_color_values { result = val }
753
+
754
+ | background_color_values background_position_values background_repeat_values background_attachment_values { result = val }
755
+
756
+ | background_position_values background_repeat_values background_image_values background_attachment_values { result = val }
757
+
758
+ | background_color_values background_attachment_values background_position_values background_repeat_values { result = val }
759
+
760
+ | background_position_values background_repeat_values background_color_values background_image_values { result = val }
761
+
762
+ | background_color_values background_attachment_values background_repeat_values background_position_values { result = val }
763
+
764
+ | background_position_values background_repeat_values background_attachment_values background_image_values { result = val }
765
+
766
+ | background_color_values background_repeat_values background_position_values background_attachment_values { result = val }
767
+
768
+ | background_position_values background_repeat_values background_image_values background_color_values { result = val }
769
+
770
+ | background_color_values background_repeat_values background_attachment_values background_position_values { result = val }
771
+
772
+ | background_color_values background_image_values background_attachment_values background_repeat_values { result = val }
773
+
774
+ | background_position_values background_attachment_values background_image_values background_repeat_values { result = val }
775
+
776
+ | background_position_values background_attachment_values background_repeat_values background_image_values { result = val }
777
+
778
+ | background_color_values background_image_values background_repeat_values background_attachment_values { result = val }
779
+
780
+ | background_position_values background_attachment_values background_repeat_values { result = val }
781
+
782
+ | background_attachment_values background_repeat_values background_image_values { result = val }
783
+
784
+ | background_repeat_values background_image_values background_color_values { result = val }
785
+
786
+ | background_repeat_values background_attachment_values background_image_values { result = val }
787
+
788
+ | background_repeat_values background_color_values background_image_values { result = val }
789
+
790
+ | background_position_values background_image_values background_color_values { result = val }
791
+
792
+ | background_repeat_values background_image_values background_attachment_values { result = val }
793
+
794
+ | background_image_values background_repeat_values background_color_values { result = val }
795
+
796
+ | background_image_values background_color_values background_repeat_values { result = val }
797
+
798
+ | background_image_values background_attachment_values background_repeat_values { result = val }
799
+
800
+ | background_color_values background_attachment_values background_position_values { result = val }
801
+
802
+ | background_color_values background_position_values background_attachment_values { result = val }
803
+
804
+ | background_image_values background_repeat_values background_attachment_values { result = val }
805
+
806
+ | background_color_values background_repeat_values background_image_values { result = val }
807
+
808
+ | background_attachment_values background_color_values background_position_values { result = val }
809
+
810
+ | background_repeat_values background_attachment_values background_position_values { result = val }
811
+
812
+ | background_position_values background_repeat_values background_image_values { result = val }
813
+
814
+ | background_position_values background_color_values background_image_values { result = val }
815
+
816
+ | background_attachment_values background_position_values background_color_values { result = val }
817
+
818
+ | background_color_values background_image_values background_attachment_values { result = val }
819
+
820
+ | background_position_values background_image_values background_repeat_values { result = val }
821
+
822
+ | background_repeat_values background_position_values background_attachment_values { result = val }
823
+
824
+ | background_image_values background_position_values background_color_values { result = val }
825
+
826
+ | background_repeat_values background_position_values background_image_values { result = val }
827
+
828
+ | background_color_values background_image_values background_repeat_values { result = val }
829
+
830
+ | background_position_values background_color_values background_attachment_values { result = val }
831
+
832
+ | background_repeat_values background_image_values background_position_values { result = val }
833
+
834
+ | background_image_values background_color_values background_position_values { result = val }
835
+
836
+ | background_position_values background_attachment_values background_color_values { result = val }
837
+
838
+ | background_image_values background_position_values background_repeat_values { result = val }
839
+
840
+ | background_attachment_values background_repeat_values background_position_values { result = val }
841
+
842
+ | background_color_values background_repeat_values background_position_values { result = val }
843
+
844
+ | background_image_values background_repeat_values background_position_values { result = val }
845
+
846
+ | background_color_values background_position_values background_repeat_values { result = val }
847
+
848
+ | background_repeat_values background_color_values background_position_values { result = val }
849
+
850
+ | background_color_values background_attachment_values background_image_values { result = val }
851
+
852
+ | background_position_values background_attachment_values background_image_values { result = val }
853
+
854
+ | background_repeat_values background_position_values background_color_values { result = val }
855
+
856
+ | background_position_values background_color_values background_repeat_values { result = val }
857
+
858
+ | background_color_values background_position_values background_image_values { result = val }
859
+
860
+ | background_position_values background_image_values background_attachment_values { result = val }
861
+
862
+ | background_attachment_values background_position_values background_repeat_values { result = val }
863
+
864
+ | background_attachment_values background_image_values background_repeat_values { result = val }
865
+
866
+ | background_color_values background_image_values background_position_values { result = val }
867
+
868
+ | background_image_values background_color_values background_attachment_values { result = val }
869
+
870
+ | background_attachment_values background_position_values background_image_values { result = val }
871
+
872
+ | background_position_values background_repeat_values background_attachment_values { result = val }
873
+
874
+ | background_color_values background_repeat_values background_attachment_values { result = val }
875
+
876
+ | background_image_values background_attachment_values background_color_values { result = val }
877
+
878
+ | background_attachment_values background_image_values background_position_values { result = val }
879
+
880
+ | background_color_values background_attachment_values background_repeat_values { result = val }
881
+
882
+ | background_repeat_values background_color_values background_attachment_values { result = val }
883
+
884
+ | background_image_values background_position_values background_attachment_values { result = val }
885
+
886
+ | background_repeat_values background_attachment_values background_color_values { result = val }
887
+
888
+ | background_attachment_values background_color_values background_repeat_values { result = val }
889
+
890
+ | background_image_values background_attachment_values background_position_values { result = val }
891
+
892
+ | background_attachment_values background_repeat_values background_color_values { result = val }
893
+
894
+ | background_attachment_values background_image_values background_color_values { result = val }
895
+
896
+ | background_attachment_values background_color_values background_image_values { result = val }
897
+
898
+ | background_position_values background_repeat_values background_color_values { result = val }
899
+
900
+ | background_attachment_values background_repeat_values { result = val }
901
+
902
+ | background_image_values background_position_values { result = val }
903
+
904
+ | background_repeat_values background_attachment_values { result = val }
905
+
906
+ | background_repeat_values background_color_values { result = val }
907
+
908
+ | background_position_values background_image_values { result = val }
909
+
910
+ | background_image_values background_color_values { result = val }
911
+
912
+ | background_repeat_values background_image_values { result = val }
913
+
914
+ | background_position_values background_repeat_values { result = val }
915
+
916
+ | background_color_values background_repeat_values { result = val }
917
+
918
+ | background_image_values background_attachment_values { result = val }
919
+
920
+ | background_attachment_values background_image_values { result = val }
921
+
922
+ | background_repeat_values background_position_values { result = val }
923
+
924
+ | background_color_values background_position_values { result = val }
925
+
926
+ | background_color_values background_attachment_values { result = val }
927
+
928
+ | background_attachment_values background_position_values { result = val }
929
+
930
+ | background_color_values background_image_values { result = val }
931
+
932
+ | background_position_values background_attachment_values { result = val }
933
+
934
+ | background_position_values background_color_values { result = val }
935
+
936
+ | background_image_values background_repeat_values { result = val }
937
+
938
+ | background_attachment_values background_color_values { result = val }
939
+
940
+ | background_attachment_values { result = val }
941
+
942
+ | background_color_values { result = val }
943
+
944
+ | background_repeat_values { result = val }
945
+
946
+ | background_image_values { result = val }
947
+
948
+ | background_position_values { result = val }
949
+
950
+ ;
951
+ border_collapse
952
+ : 'border-collapse' border_collapse_values {
953
+ result = LexicalIdent.new(val[1])
954
+ }
955
+ | 'border-collapse' inherit { result = val[1] }
956
+ ;
957
+ border_collapse_values
958
+ : 'collapse'
959
+ | 'separate'
960
+ ;
961
+ border_color
962
+ : 'border-color' border_color_values { result = val[1].flatten }
963
+ | 'border-color' inherit { result = val[1] }
964
+ ;
965
+ border_color_values
966
+
967
+ : color_or_transparent color_or_transparent color_or_transparent color_or_transparent { result = val }
968
+
969
+ | color_or_transparent color_or_transparent color_or_transparent { result = val }
970
+
971
+ | color_or_transparent color_or_transparent { result = val }
972
+
973
+ | color_or_transparent { result = val }
974
+
975
+ ;
976
+ color_or_transparent
977
+ : color
978
+ | transparent
979
+ ;
980
+ border_spacing
981
+ : 'border-spacing' border_spacing_values { result = [val[1]].flatten }
982
+ | 'border-spacing' inherit { result = val[1] }
983
+ ;
984
+ border_spacing_values
985
+ : length length { result = val }
986
+ | length
987
+ ;
988
+ border_style
989
+ : 'border-style' border_style_values_1to4 { result = [val[1]].flatten }
990
+ | 'border-style' inherit { result = val[1] }
991
+ ;
992
+ border_style_values_1to4
993
+ : border_style_values border_style_values border_style_values
994
+ border_style_values { result = val }
995
+ | border_style_values border_style_values border_style_values {
996
+ result = val
997
+ }
998
+ | border_style_values border_style_values { result = val }
999
+ | border_style_values
1000
+ ;
1001
+ border_style_values
1002
+ : border_style_values_ident { result = LexicalIdent.new(val.first) }
1003
+ ;
1004
+ border_style_values_ident
1005
+ : 'none'
1006
+ | 'hidden'
1007
+ | 'dotted'
1008
+ | 'dashed'
1009
+ | 'solid'
1010
+ | 'double'
1011
+ | 'groove'
1012
+ | 'ridge'
1013
+ | 'inset'
1014
+ | 'outset'
1015
+ ;
1016
+ border_trbl
1017
+ : border_trbl_keys border_values { result = [val[1]].flatten }
1018
+ | border_trbl_keys inherit { result = val[1] }
1019
+ ;
1020
+ border_trbl_keys
1021
+ : 'border-top'
1022
+ | 'border-right'
1023
+ | 'border-bottom'
1024
+ | 'border-left'
1025
+ ;
1026
+ border_trbl_color
1027
+ : border_trbl_color_keys border_trbl_color_values { result = val[1] }
1028
+ | border_trbl_color_keys inherit { result = val[1] }
1029
+ ;
1030
+ border_trbl_color_keys
1031
+ : 'border-top-color'
1032
+ | 'border-right-color'
1033
+ | 'border-bottom-color'
1034
+ | 'border-left-color'
1035
+ ;
1036
+ border_trbl_color_values
1037
+ : color
1038
+ | transparent
1039
+ ;
1040
+ border_trbl_style
1041
+ : border_trbl_style_keys border_style_values { result = val[1] }
1042
+ | border_trbl_style_keys inherit { result = val[1] }
1043
+ ;
1044
+ border_trbl_style_keys
1045
+ : 'border-top-style'
1046
+ | 'border-right-style'
1047
+ | 'border-bottom-style'
1048
+ | 'border-left-style'
1049
+ ;
1050
+ border_trbl_width
1051
+ : border_trbl_width_keys border_width_values { result = val[1] }
1052
+ | border_trbl_width_keys inherit { result = val[1] }
1053
+ ;
1054
+ border_trbl_width_keys
1055
+ : 'border-top-width'
1056
+ | 'border-right-width'
1057
+ | 'border-bottom-width'
1058
+ | 'border-left-width'
1059
+ ;
1060
+ border_width
1061
+ : 'border-width' border_width_values_1to4 { result = [val[1]].flatten }
1062
+ | 'border-width' inherit { result = val[1] }
1063
+ ;
1064
+ border_width_values
1065
+ : border_width_values_ident { result = LexicalIdent.new(val.first) }
1066
+ | length
1067
+ ;
1068
+ border_width_values_ident
1069
+ : 'thin'
1070
+ | 'medium'
1071
+ | 'thick'
1072
+ ;
1073
+ border_width_values_1to4
1074
+
1075
+ : border_width_values border_width_values border_width_values border_width_values { result = val }
1076
+
1077
+ | border_width_values border_width_values border_width_values { result = val }
1078
+
1079
+ | border_width_values border_width_values { result = val }
1080
+
1081
+ | border_width_values { result = val }
1082
+
1083
+ ;
1084
+ border
1085
+ : 'border' border_values { result = [val[1]].flatten }
1086
+ | 'border' border_style_values { result = val[1] }
1087
+ | 'border' inherit { result = val[1] }
1088
+ ;
1089
+ border_values
1090
+
1091
+ : border_width_values border_style_values color { result = val }
1092
+
1093
+ | color border_style_values border_width_values { result = val }
1094
+
1095
+ | border_width_values color border_style_values { result = val }
1096
+
1097
+ | color border_width_values border_style_values { result = val }
1098
+
1099
+ | border_style_values border_width_values color { result = val }
1100
+
1101
+ | border_style_values color border_width_values { result = val }
1102
+
1103
+ | border_width_values color { result = val }
1104
+
1105
+ | color border_width_values { result = val }
1106
+
1107
+ | border_style_values color { result = val }
1108
+
1109
+ | border_style_values border_width_values { result = val }
1110
+
1111
+ | border_width_values border_style_values { result = val }
1112
+
1113
+ | color border_style_values { result = val }
1114
+
1115
+ | border_style_values { result = val }
1116
+
1117
+ | border_width_values { result = val }
1118
+
1119
+ | color { result = val }
1120
+
1121
+ ;
1122
+ bottom
1123
+ : 'bottom' bottom_values { result = val[1] }
1124
+ | 'bottom' inherit { result = val[1] }
1125
+ ;
1126
+ bottom_values
1127
+ : length
1128
+ | percentage
1129
+ | auto
1130
+ ;
1131
+ caption_side
1132
+ : 'caption-side' caption_side_values { result = LexicalIdent.new(val[1]) }
1133
+ | 'caption-side' inherit { result = val[1] }
1134
+ ;
1135
+ caption_side_values
1136
+ : 'top'
1137
+ | 'bottom'
1138
+ ;
1139
+ clear
1140
+ : 'clear' clear_values { result = LexicalIdent.new(val[1]) }
1141
+ | 'clear' inherit { result = val[1] }
1142
+ ;
1143
+ clear_values
1144
+ : 'none'
1145
+ | 'left'
1146
+ | 'right'
1147
+ | 'both'
1148
+ ;
1149
+ clip
1150
+ : 'clip' clip_values { result = val[1] }
1151
+ | 'clip' inherit { result = val[1] }
1152
+ ;
1153
+ clip_values
1154
+ : shape
1155
+ | auto
1156
+ ;
1157
+ shape
1158
+ : 'rect(' shape_param COMMA shape_param COMMA shape_param COMMA
1159
+ shape_param {
1160
+ result = Function.new(val[0], [val[1], val[3], val[5], val[7]])
1161
+ }
1162
+ ;
1163
+ shape_param
1164
+ : length
1165
+ | 'auto'
1166
+ ;
1167
+ color_lex
1168
+ : 'color' color { result = val[1] }
1169
+ | 'color' 'inherit' { result = LexicalIdent.new(val[1]) }
1170
+ ;
1171
+ content
1172
+ : 'content' content_values_1toN { result = [val[1]].flatten }
1173
+ | 'content' inherit { result = val[1] }
1174
+ ;
1175
+ content_values_1toN
1176
+ : content_values content_values_1toN { result = val }
1177
+ | content_values
1178
+ ;
1179
+ content_values
1180
+ : content_values_ident { result = LexicalIdent.new(val.first) }
1181
+ | string
1182
+ | normal
1183
+ | none
1184
+ | uri
1185
+ | counter
1186
+ | 'attr(' ident {
1187
+ result = Function.new(val[0], [val[1]])
1188
+ }
1189
+ ;
1190
+ content_values_ident
1191
+ : 'open-quote'
1192
+ | 'close-quote'
1193
+ | 'no-open-quote'
1194
+ | 'no-close-quote'
1195
+ ;
1196
+ counter
1197
+ : 'counter(' IDENT list_style_type_values {
1198
+ result = Function.new(val[0], [val[1], val[2]].flatten)
1199
+ }
1200
+ | 'counter(' IDENT { result = Function.new(val[0], [val[1]]) }
1201
+ | 'counters(' IDENT string list_style_type_values {
1202
+ result = Function.new(val[0], [val[1], val[2], val[3]].flatten)
1203
+ }
1204
+ | 'counters(' IDENT string {
1205
+ result = Function.new(val[0], [val[1], val[2]])
1206
+ }
1207
+ ;
1208
+ counter_increment_or_reset
1209
+ : counter_increment_or_reset_keys counter_increment_values_1toN {
1210
+ result = [val[1]].flatten
1211
+ }
1212
+ | counter_increment_or_reset_keys none { result = val[1] }
1213
+ | counter_increment_or_reset_keys inherit { result = val[1] }
1214
+ ;
1215
+ counter_increment_or_reset_keys
1216
+ : 'counter-increment'
1217
+ | 'counter-reset'
1218
+ ;
1219
+ counter_increment_values_1toN
1220
+ : counter_increment_values counter_increment_values_1toN { result = val }
1221
+ | counter_increment_values
1222
+ ;
1223
+ counter_increment_values
1224
+ : ident number { result = val }
1225
+ | ident
1226
+ ;
1227
+ cue_after_or_before
1228
+ : cue_after_or_before_keys cue_after_or_before_values { result = val[1] }
1229
+ | cue_after_or_before_keys inherit { result = val[1] }
1230
+ ;
1231
+ cue_after_or_before_values
1232
+ : uri
1233
+ | none
1234
+ ;
1235
+ cue_after_or_before_keys
1236
+ : 'cue-after'
1237
+ | 'cue-before'
1238
+ ;
1239
+ cue
1240
+ : 'cue' cue_values { result = val[1] }
1241
+ | 'cue' inherit { result = val[1] }
1242
+ ;
1243
+ cue_values
1244
+ : cue_after_or_before_values cue_after_or_before_values { result = val }
1245
+ | cue_after_or_before_values
1246
+ ;
1247
+ ;
1248
+ cursor
1249
+ : 'cursor' cursor_values { result = val[1] }
1250
+ | 'cursor' inherit { result = val[1] }
1251
+ ;
1252
+ cursor_values
1253
+ : uri_0toN cursor_values_idents {
1254
+ result = [val[0], LexicalIdent.new(val[1])].flatten.compact
1255
+ }
1256
+ ;
1257
+ cursor_values_idents
1258
+ : 'auto'
1259
+ | 'crosshair'
1260
+ | 'default'
1261
+ | 'pointer'
1262
+ | 'move'
1263
+ | 'e-resize'
1264
+ | 'ne-resize'
1265
+ | 'nw-resize'
1266
+ | 'n-resize'
1267
+ | 'se-resize'
1268
+ | 'sw-resize'
1269
+ | 's-resize'
1270
+ | 'w-resize'
1271
+ | 'text'
1272
+ | 'wait'
1273
+ | 'help'
1274
+ | 'progress'
1275
+ ;
1276
+ uri_0toN
1277
+ : uri COMMA uri_0toN { result = [val.first, val.last] }
1278
+ | uri
1279
+ |
1280
+ ;
1281
+ direction
1282
+ : 'direction' 'ltr' { result = LexicalIdent.new(val[1]) }
1283
+ | 'direction' 'rtl' { result = LexicalIdent.new(val[1]) }
1284
+ | 'direction' inherit { result = val[1] }
1285
+ ;
1286
+ display
1287
+ : 'display' display_values { result = LexicalIdent.new(val[1]) }
1288
+ | 'display' inherit { result = val[1] }
1289
+ ;
1290
+ display_values
1291
+ : 'inline'
1292
+ | 'block'
1293
+ | 'list-item'
1294
+ | 'run-in'
1295
+ | 'inline-block'
1296
+ | 'table'
1297
+ | 'inline-table'
1298
+ | 'table-row-group'
1299
+ | 'table-header-group'
1300
+ | 'table-footer-group'
1301
+ | 'table-row'
1302
+ | 'table-column-group'
1303
+ | 'table-column'
1304
+ | 'table-cell'
1305
+ | 'table-caption'
1306
+ | 'none'
1307
+ ;
1308
+ elevation
1309
+ : 'elevation' elevation_values { result = val[1] }
1310
+ | 'elevation' inherit { result = val[1] }
1311
+ ;
1312
+ elevation_values
1313
+ : angle
1314
+ | elevation_values_ident { result = LexicalIdent.new(val.first) }
1315
+ ;
1316
+ elevation_values_ident
1317
+ | 'below'
1318
+ | 'level'
1319
+ | 'above'
1320
+ | 'higher'
1321
+ | 'lower'
1322
+ ;
1323
+ empty_cells
1324
+ : 'empty-cells' empty_cells_values { result = LexicalIdent.new(val[1]) }
1325
+ | 'empty-cells' inherit { result = val[1] }
1326
+ ;
1327
+ empty_cells_values
1328
+ : 'show'
1329
+ | 'hide'
1330
+ ;
1331
+ float
1332
+ : 'float' float_values { result = LexicalIdent.new(val[1]) }
1333
+ | 'float' inherit { result = val[1] }
1334
+ ;
1335
+ float_values
1336
+ : 'left'
1337
+ | 'right'
1338
+ | 'none'
1339
+ ;
1340
+ font_family
1341
+ : 'font-family' font_family_values_1toN { result = [val[1]].flatten }
1342
+ | 'font-family' inherit { result = val[1] }
1343
+ ;
1344
+ font_family_values_1toN
1345
+ : font_family_values COMMA font_family_values_1toN {
1346
+ result = [val.first, val.last]
1347
+ }
1348
+ | font_family_values
1349
+ ;
1350
+ font_family_values
1351
+ : ident
1352
+ | string
1353
+ | generic_family { result = LexicalIdent.new(val.first) }
1354
+ ;
1355
+ generic_family
1356
+ : 'serif'
1357
+ | 'sans-serif'
1358
+ | 'cursive'
1359
+ | 'fantasy'
1360
+ | 'monospace'
1361
+ ;
1362
+ font_size
1363
+ : 'font-size' font_size_values { result = val[1] }
1364
+ | 'font-size' inherit { result = val[1] }
1365
+ ;
1366
+ font_size_values
1367
+ : absolute_size { result = LexicalIdent.new(val.first) }
1368
+ | relative_size { result = LexicalIdent.new(val.first) }
1369
+ | length
1370
+ | percentage
1371
+ ;
1372
+ absolute_size
1373
+ : 'xx-small'
1374
+ | 'x-small'
1375
+ | 'small'
1376
+ | 'medium'
1377
+ | 'large'
1378
+ | 'x-large'
1379
+ | 'xx-large'
1380
+ ;
1381
+ relative_size
1382
+ : 'larger'
1383
+ | 'smaller'
1384
+ ;
1385
+ font_style
1386
+ : 'font-style' font_style_values { result = val[1] }
1387
+ | 'font-style' inherit { result = val[1] }
1388
+ ;
1389
+ font_style_values
1390
+ : font_style_values_ident { result = LexicalIdent.new(val.first) }
1391
+ | normal
1392
+ ;
1393
+ font_style_values_ident
1394
+ : 'italic'
1395
+ | 'oblique'
1396
+ ;
1397
+ font_variant
1398
+ : 'font-variant' font_variant_values { result = val[1] }
1399
+ | 'font-variant' inherit { result = val[1] }
1400
+ ;
1401
+ font_variant_values
1402
+ : 'small-caps' { result = LexicalIdent.new(val.first) }
1403
+ | normal
1404
+ ;
1405
+ font_weight
1406
+ : 'font-weight' font_weight_values { result = val[1] }
1407
+ | 'font-weight' inherit { result = val[1] }
1408
+ ;
1409
+ font_weight_values
1410
+ : font_weight_values_ident { result = LexicalIdent.new(val.first) }
1411
+ | normal
1412
+ | number /* this is too loose. */
1413
+ ;
1414
+ font_weight_values_ident
1415
+ : 'bold'
1416
+ | 'bolder'
1417
+ | 'lighter'
1418
+ ;
1419
+ font
1420
+ : 'font' font_values { result = [val[1]].flatten.compact }
1421
+ | 'font' inherit { result = val[1] }
1422
+ ;
1423
+ font_values
1424
+ : font_style_variant_weight_0or1 font_size_values slash_line_height_0or1
1425
+ font_family_values_1toN { result = val }
1426
+ | font_values_ident { result = LexicalIdent.new(val.first) }
1427
+ ;
1428
+ font_values_ident
1429
+ : 'caption'
1430
+ | 'icon'
1431
+ | 'menu'
1432
+ | 'message-box'
1433
+ | 'small-caption'
1434
+ | 'status-bar'
1435
+ ;
1436
+ font_style_variant_weight_0or1
1437
+
1438
+ : font_style_values font_variant_values font_weight_values { result = val }
1439
+
1440
+ | font_weight_values font_variant_values font_style_values { result = val }
1441
+
1442
+ | font_style_values font_weight_values font_variant_values { result = val }
1443
+
1444
+ | font_weight_values font_style_values font_variant_values { result = val }
1445
+
1446
+ | font_variant_values font_style_values font_weight_values { result = val }
1447
+
1448
+ | font_variant_values font_weight_values font_style_values { result = val }
1449
+
1450
+ | font_style_values font_weight_values { result = val }
1451
+
1452
+ | font_weight_values font_style_values { result = val }
1453
+
1454
+ | font_variant_values font_weight_values { result = val }
1455
+
1456
+ | font_variant_values font_style_values { result = val }
1457
+
1458
+ | font_style_values font_variant_values { result = val }
1459
+
1460
+ | font_weight_values font_variant_values { result = val }
1461
+
1462
+ | font_variant_values { result = val }
1463
+
1464
+ | font_style_values { result = val }
1465
+
1466
+ | font_weight_values { result = val }
1467
+
1468
+ |
1469
+ ;
1470
+ slash_line_height_0or1
1471
+ : '/' line_height_values { result = val[1] }
1472
+ |
1473
+ ;
1474
+ hlrt
1475
+ : hlrt_keys bottom_values { result = val[1] }
1476
+ | hlrt_keys inherit { result = val[1] }
1477
+ ;
1478
+ hlrt_keys
1479
+ : 'height'
1480
+ | 'left'
1481
+ | 'right'
1482
+ | 'top'
1483
+ ;
1484
+ letter_spacing
1485
+ : 'letter-spacing' letter_spacing_values { result = val[1] }
1486
+ | 'letter-spacing' inherit { result = val[1] }
1487
+ ;
1488
+ letter_spacing_values
1489
+ : normal
1490
+ | length
1491
+ ;
1492
+ line_height
1493
+ : 'line-height' line_height_values { result = val[1] }
1494
+ | 'line-height' inherit { result = val[1] }
1495
+ ;
1496
+ line_height_values
1497
+ : normal
1498
+ | number
1499
+ | length
1500
+ | percentage
1501
+ ;
1502
+ list_style_image
1503
+ : 'list-style-image' list_style_image_values { result = val[1] }
1504
+ | 'list-style-image' inherit { result = val[1] }
1505
+ ;
1506
+ list_style_image_values
1507
+ : uri
1508
+ | none
1509
+ ;
1510
+ list_style_position
1511
+ : 'list-style-position' list_style_position_values { result = val[1] }
1512
+ | 'list-style-position' inherit { result = val[1] }
1513
+ ;
1514
+ list_style_position_values
1515
+ : list_style_position_ident { result = LexicalIdent.new(val.first) }
1516
+ ;
1517
+ list_style_position_ident
1518
+ : 'inside'
1519
+ | 'outside'
1520
+ ;
1521
+ list_style_type
1522
+ : 'list-style-type' list_style_type_values { result = val[1] }
1523
+ | 'list-style-type' inherit { result = val[1] }
1524
+ ;
1525
+ list_style_type_values
1526
+ : list_style_type_values_ident { result = LexicalIdent.new(val.first) }
1527
+ | none
1528
+ ;
1529
+ list_style_type_values_ident
1530
+ : 'disc'
1531
+ | 'circle'
1532
+ | 'square'
1533
+ | 'decimal'
1534
+ | 'decimal-leading-zero'
1535
+ | 'lower-roman'
1536
+ | 'upper-roman'
1537
+ | 'lower-greek'
1538
+ | 'lower-latin'
1539
+ | 'upper-latin'
1540
+ | 'armenian'
1541
+ | 'georgian'
1542
+ | 'lower-alpha'
1543
+ | 'upper-alpha'
1544
+ ;
1545
+ list_style
1546
+ : 'list-style' list_style_values { result = [val[1]].flatten }
1547
+ | 'list-style' inherit { result = val[1] }
1548
+ ;
1549
+ list_style_values
1550
+
1551
+ : list_style_type_values list_style_position_values list_style_image_values { result = val }
1552
+
1553
+ | list_style_image_values list_style_position_values list_style_type_values { result = val }
1554
+
1555
+ | list_style_type_values list_style_image_values list_style_position_values { result = val }
1556
+
1557
+ | list_style_image_values list_style_type_values list_style_position_values { result = val }
1558
+
1559
+ | list_style_position_values list_style_type_values list_style_image_values { result = val }
1560
+
1561
+ | list_style_position_values list_style_image_values list_style_type_values { result = val }
1562
+
1563
+ | list_style_type_values list_style_image_values { result = val }
1564
+
1565
+ | list_style_image_values list_style_type_values { result = val }
1566
+
1567
+ | list_style_position_values list_style_image_values { result = val }
1568
+
1569
+ | list_style_position_values list_style_type_values { result = val }
1570
+
1571
+ | list_style_type_values list_style_position_values { result = val }
1572
+
1573
+ | list_style_image_values list_style_position_values { result = val }
1574
+
1575
+ | list_style_position_values { result = val }
1576
+
1577
+ | list_style_type_values { result = val }
1578
+
1579
+ | list_style_image_values { result = val }
1580
+
1581
+ ;
1582
+ margin_rltb
1583
+ : margin_rltb_keys margin_width_values { result = val[1] }
1584
+ | margin_rltb_keys inherit { result = val[1] }
1585
+ ;
1586
+ margin_rltb_keys
1587
+ : 'margin-right'
1588
+ | 'margin-left'
1589
+ | 'margin-top'
1590
+ | 'margin-bottom'
1591
+ ;
1592
+ margin
1593
+ : 'margin' margin_width_values_1to4 { result = [val[1]].flatten }
1594
+ | 'margin' inherit { result = val[1] }
1595
+ ;
1596
+ margin_width_values
1597
+ : length
1598
+ | percentage
1599
+ | auto
1600
+ ;
1601
+ margin_width_values_1to4
1602
+
1603
+ : margin_width_values margin_width_values margin_width_values margin_width_values { result = val }
1604
+
1605
+ | margin_width_values margin_width_values margin_width_values { result = val }
1606
+
1607
+ | margin_width_values margin_width_values { result = val }
1608
+
1609
+ | margin_width_values { result = val }
1610
+
1611
+ ;
1612
+ max_height_or_width
1613
+ : max_height_or_width_keys max_height_values { result = val[1] }
1614
+ | max_height_or_width_keys inherit { result = val[1] }
1615
+ ;
1616
+ max_height_or_width_keys
1617
+ : 'max-height'
1618
+ | 'max-width'
1619
+ ;
1620
+ max_height_values
1621
+ : length
1622
+ | percentage
1623
+ | none
1624
+ ;
1625
+ min_height_or_width
1626
+ : min_height_or_width_keys min_height_values { result = val[1] }
1627
+ | min_height_or_width_keys inherit { result = val[1] }
1628
+ ;
1629
+ min_height_or_width_keys
1630
+ : 'min-height'
1631
+ | 'min-width'
1632
+ ;
1633
+ min_height_values
1634
+ : length
1635
+ | percentage
1636
+ ;
1637
+ orphans
1638
+ : 'orphans' integer { result = val[1] }
1639
+ | 'orphans' inherit { result = val[1] }
1640
+ ;
1641
+ outline_color
1642
+ : 'outline-color' outline_color_values { result = val[1] }
1643
+ | 'outline-color' inherit { result = val[1] }
1644
+ ;
1645
+ outline_color_values
1646
+ : color
1647
+ | invert
1648
+ ;
1649
+ outline_style
1650
+ : 'outline-style' outline_style_values { result = val[1] }
1651
+ | 'outline-style' inherit { result = val[1] }
1652
+ ;
1653
+ outline_style_values
1654
+ : border_style_values
1655
+ ;
1656
+ outline_width
1657
+ : 'outline-width' outline_width_values { result = val[1] }
1658
+ | 'outline-width' inherit { result = val[1] }
1659
+ ;
1660
+ outline_width_values
1661
+ : border_width_values
1662
+ ;
1663
+ outline
1664
+ : 'outline' outline_values { result = [val[1]].flatten }
1665
+ | 'outline' inherit { result = val[1] }
1666
+ ;
1667
+ outline_values
1668
+
1669
+ : outline_color_values outline_style_values outline_width_values { result = val }
1670
+
1671
+ | outline_width_values outline_style_values outline_color_values { result = val }
1672
+
1673
+ | outline_color_values outline_width_values outline_style_values { result = val }
1674
+
1675
+ | outline_width_values outline_color_values outline_style_values { result = val }
1676
+
1677
+ | outline_style_values outline_color_values outline_width_values { result = val }
1678
+
1679
+ | outline_style_values outline_width_values outline_color_values { result = val }
1680
+
1681
+ | outline_color_values outline_width_values { result = val }
1682
+
1683
+ | outline_width_values outline_color_values { result = val }
1684
+
1685
+ | outline_style_values outline_width_values { result = val }
1686
+
1687
+ | outline_style_values outline_color_values { result = val }
1688
+
1689
+ | outline_color_values outline_style_values { result = val }
1690
+
1691
+ | outline_width_values outline_style_values { result = val }
1692
+
1693
+ | outline_style_values { result = val }
1694
+
1695
+ | outline_color_values { result = val }
1696
+
1697
+ | outline_width_values { result = val }
1698
+
1699
+ ;
1700
+ overflow
1701
+ : 'overflow' overflow_values { result = LexicalIdent.new(val[1]) }
1702
+ | 'overflow' inherit { result = val[1] }
1703
+ ;
1704
+ overflow_values
1705
+ : 'visible'
1706
+ | 'hidden'
1707
+ | 'scroll'
1708
+ | 'auto'
1709
+ ;
1710
+ padding_trbl
1711
+ : padding_trbl_keys padding_width { result = val[1] }
1712
+ | padding_trbl_keys inherit { result = val[1] }
1713
+ ;
1714
+ padding_trbl_keys
1715
+ : 'padding-top'
1716
+ | 'padding-right'
1717
+ | 'padding-bottom'
1718
+ | 'padding-left'
1719
+ ;
1720
+ padding_width
1721
+ : length
1722
+ | percentage
1723
+ ;
1724
+ padding
1725
+ : 'padding' padding_width_1to4 { result = [val[1]].flatten }
1726
+ | 'padding' inherit { result = val[1] }
1727
+ ;
1728
+ padding_width_values
1729
+ : length
1730
+ | percentage
1731
+ ;
1732
+ padding_width_1to4
1733
+
1734
+ : padding_width_values padding_width_values padding_width_values padding_width_values { result = val }
1735
+
1736
+ | padding_width_values padding_width_values padding_width_values { result = val }
1737
+
1738
+ | padding_width_values padding_width_values { result = val }
1739
+
1740
+ | padding_width_values { result = val }
1741
+
1742
+ ;
1743
+ page_break_ab
1744
+ : page_break_ab_keys page_break_ab_values {
1745
+ result = LexicalIdent.new(val[1])
1746
+ }
1747
+ | page_break_ab_keys inherit { result = val[1] }
1748
+ ;
1749
+ page_break_ab_keys
1750
+ : 'page-break-after'
1751
+ | 'page-break-before'
1752
+ ;
1753
+ page_break_ab_values
1754
+ : 'auto'
1755
+ | 'always'
1756
+ | 'avoid'
1757
+ | 'left'
1758
+ | 'right'
1759
+ ;
1760
+ page_break_inside
1761
+ : 'page-break-inside' page_break_inside_values {
1762
+ result = LexicalIdent.new(val[1])
1763
+ }
1764
+ | 'page-break-inside' inherit { result = val[1] }
1765
+ ;
1766
+ page_break_inside_values
1767
+ : 'avoid'
1768
+ | 'auto'
1769
+ ;
1770
+ pause_ab
1771
+ : pause_ab_keys pause_ab_values { result = val[1] }
1772
+ | pause_ab_keys inherit { result = val[1] }
1773
+ ;
1774
+ pause_ab_keys
1775
+ : 'pause-after'
1776
+ | 'pause-before'
1777
+ ;
1778
+ pause_ab_values
1779
+ : time
1780
+ | percentage
1781
+ ;
1782
+ pause
1783
+ : 'pause' pause_values_1or2 { result = val[1] }
1784
+ | 'pause' inherit { result = val[1] }
1785
+ ;
1786
+ pause_values_1or2
1787
+ : pause_values pause_values { result = val }
1788
+ | pause_values
1789
+ ;
1790
+ pause_values
1791
+ : time
1792
+ | percentage
1793
+ ;
1794
+ pitch_range
1795
+ : 'pitch-range' number { result = val[1] }
1796
+ | 'pitch-range' inherit { result = val[1] }
1797
+ ;
1798
+ pitch
1799
+ : 'pitch' pitch_values { result = val[1] }
1800
+ | 'pitch' inherit { result = val[1] }
1801
+ ;
1802
+ pitch_values
1803
+ : frequency
1804
+ | pitch_values_ident { result = LexicalIdent.new(val.first) }
1805
+ ;
1806
+ pitch_values_ident
1807
+ : 'x-low'
1808
+ | 'low'
1809
+ | 'medium'
1810
+ | 'high'
1811
+ | 'x-high'
1812
+ ;
1813
+ play_during
1814
+ : 'play-during' play_during_values { result = val[1] }
1815
+ | 'play-during' inherit { result = val[1] }
1816
+ ;
1817
+ play_during_values
1818
+ : uri mix_or_repeat_0or1 { result = [val].flatten.compact }
1819
+ | auto
1820
+ | none
1821
+ ;
1822
+ mix_or_repeat_0or1
1823
+
1824
+ : 'mix' 'repeat' {
1825
+ result = val.map { |x| LexicalIdent.new(x) }
1826
+ }
1827
+
1828
+ | 'repeat' 'mix' {
1829
+ result = val.map { |x| LexicalIdent.new(x) }
1830
+ }
1831
+
1832
+ | 'repeat' {
1833
+ result = val.map { |x| LexicalIdent.new(x) }
1834
+ }
1835
+
1836
+ | 'mix' {
1837
+ result = val.map { |x| LexicalIdent.new(x) }
1838
+ }
1839
+
1840
+ |
1841
+ ;
1842
+ position
1843
+ : 'position' position_values { result = LexicalIdent.new(val[1]) }
1844
+ | 'position' inherit { result = val[1] }
1845
+ ;
1846
+ position_values
1847
+ : 'static'
1848
+ | 'relative'
1849
+ | 'absolute'
1850
+ | 'fixed'
1851
+ ;
1852
+ quotes
1853
+ : 'quotes' quotes_values { result = [val[1]].flatten }
1854
+ | 'quotes' inherit { result = val[1] }
1855
+ ;
1856
+ quotes_values
1857
+ : string_pair_1toN
1858
+ | none
1859
+ ;
1860
+ string_pair_1toN
1861
+ : string string string_pair_1toN { result = val }
1862
+ | string string { result = val }
1863
+ ;
1864
+ richness
1865
+ : 'richness' number { result = val[1] }
1866
+ | 'richness' inherit { result = val[1] }
1867
+ ;
1868
+ speak_header
1869
+ : 'speak-header' speak_header_values { result = LexicalIdent.new(val[1]) }
1870
+ | 'speak-header' inherit { result = val[1] }
1871
+ ;
1872
+ speak_header_values
1873
+ : 'once'
1874
+ | 'always'
1875
+ ;
1876
+ speak_numeral
1877
+ : 'speak-numeral' speak_numeral_values { result = LexicalIdent.new(val[1]) }
1878
+ | 'speak-numeral' inherit { result = val[1] }
1879
+ ;
1880
+ speak_numeral_values
1881
+ : 'digits'
1882
+ | 'continuous'
1883
+ ;
1884
+ speak_punctuation
1885
+ : 'speak-punctuation' speak_punctuation_values {
1886
+ result = LexicalIdent.new(val[1])
1887
+ }
1888
+ | 'speak-punctuation' inherit { result = val[1] }
1889
+ ;
1890
+ speak_punctuation_values
1891
+ : 'code'
1892
+ | 'none'
1893
+ ;
1894
+ speak
1895
+ : 'speak' speak_values { result = LexicalIdent.new(val[1]) }
1896
+ | 'speak' inherit { result = val[1] }
1897
+ ;
1898
+ speak_values
1899
+ : 'normal'
1900
+ | 'none'
1901
+ | 'spell-out'
1902
+ ;
1903
+ speech_rate
1904
+ : 'speech-rate' speech_rate_values { result = LexicalIdent.new(val[1]) }
1905
+ | 'speech-rate' number { result = val[1] }
1906
+ | 'speech-rate' inherit { result = val[1] }
1907
+ ;
1908
+ speech_rate_values
1909
+ : 'x-slow'
1910
+ | 'slow'
1911
+ | 'medium'
1912
+ | 'fast'
1913
+ | 'x-fast'
1914
+ | 'faster'
1915
+ | 'slower'
1916
+ ;
1917
+ stress
1918
+ : 'stress' number { result = val[1] }
1919
+ | 'stress' inherit { result = val[1] }
1920
+ ;
1921
+ table_layout
1922
+ : 'table-layout' table_layout_values { result = LexicalIdent.new(val[1]) }
1923
+ | 'table-layout' inherit { result = val[1] }
1924
+ ;
1925
+ table_layout_values
1926
+ : 'auto'
1927
+ | 'fixed'
1928
+ ;
1929
+ text_align
1930
+ : 'text-align' text_align_values { result = LexicalIdent.new(val[1]) }
1931
+ | 'text-align' inherit { result = val[1] }
1932
+ ;
1933
+ text_align_values
1934
+ : 'left'
1935
+ | 'right'
1936
+ | 'center'
1937
+ | 'justify'
1938
+ ;
1939
+ text_decoration
1940
+ : 'text-decoration' text_decoration_values { result = val[1] }
1941
+ | 'text-decoration' inherit { result = val[1] }
1942
+ ;
1943
+ text_decoration_values
1944
+
1945
+ : 'underline' 'overline' 'line-through' 'blink' {
1946
+ result = val.map { |x| LexicalIdent.new(x) }
1947
+ }
1948
+
1949
+ | 'blink' 'line-through' 'overline' 'underline' {
1950
+ result = val.map { |x| LexicalIdent.new(x) }
1951
+ }
1952
+
1953
+ | 'underline' 'overline' 'blink' 'line-through' {
1954
+ result = val.map { |x| LexicalIdent.new(x) }
1955
+ }
1956
+
1957
+ | 'blink' 'line-through' 'underline' 'overline' {
1958
+ result = val.map { |x| LexicalIdent.new(x) }
1959
+ }
1960
+
1961
+ | 'underline' 'line-through' 'overline' 'blink' {
1962
+ result = val.map { |x| LexicalIdent.new(x) }
1963
+ }
1964
+
1965
+ | 'blink' 'overline' 'line-through' 'underline' {
1966
+ result = val.map { |x| LexicalIdent.new(x) }
1967
+ }
1968
+
1969
+ | 'underline' 'line-through' 'blink' 'overline' {
1970
+ result = val.map { |x| LexicalIdent.new(x) }
1971
+ }
1972
+
1973
+ | 'blink' 'overline' 'underline' 'line-through' {
1974
+ result = val.map { |x| LexicalIdent.new(x) }
1975
+ }
1976
+
1977
+ | 'underline' 'blink' 'overline' 'line-through' {
1978
+ result = val.map { |x| LexicalIdent.new(x) }
1979
+ }
1980
+
1981
+ | 'blink' 'underline' 'line-through' 'overline' {
1982
+ result = val.map { |x| LexicalIdent.new(x) }
1983
+ }
1984
+
1985
+ | 'underline' 'blink' 'line-through' 'overline' {
1986
+ result = val.map { |x| LexicalIdent.new(x) }
1987
+ }
1988
+
1989
+ | 'blink' 'underline' 'overline' 'line-through' {
1990
+ result = val.map { |x| LexicalIdent.new(x) }
1991
+ }
1992
+
1993
+ | 'overline' 'underline' 'line-through' 'blink' {
1994
+ result = val.map { |x| LexicalIdent.new(x) }
1995
+ }
1996
+
1997
+ | 'overline' 'underline' 'blink' 'line-through' {
1998
+ result = val.map { |x| LexicalIdent.new(x) }
1999
+ }
2000
+
2001
+ | 'line-through' 'blink' 'overline' 'underline' {
2002
+ result = val.map { |x| LexicalIdent.new(x) }
2003
+ }
2004
+
2005
+ | 'overline' 'line-through' 'underline' 'blink' {
2006
+ result = val.map { |x| LexicalIdent.new(x) }
2007
+ }
2008
+
2009
+ | 'overline' 'line-through' 'blink' 'underline' {
2010
+ result = val.map { |x| LexicalIdent.new(x) }
2011
+ }
2012
+
2013
+ | 'line-through' 'blink' 'underline' 'overline' {
2014
+ result = val.map { |x| LexicalIdent.new(x) }
2015
+ }
2016
+
2017
+ | 'overline' 'blink' 'underline' 'line-through' {
2018
+ result = val.map { |x| LexicalIdent.new(x) }
2019
+ }
2020
+
2021
+ | 'line-through' 'overline' 'blink' 'underline' {
2022
+ result = val.map { |x| LexicalIdent.new(x) }
2023
+ }
2024
+
2025
+ | 'overline' 'blink' 'line-through' 'underline' {
2026
+ result = val.map { |x| LexicalIdent.new(x) }
2027
+ }
2028
+
2029
+ | 'line-through' 'overline' 'underline' 'blink' {
2030
+ result = val.map { |x| LexicalIdent.new(x) }
2031
+ }
2032
+
2033
+ | 'line-through' 'underline' 'overline' 'blink' {
2034
+ result = val.map { |x| LexicalIdent.new(x) }
2035
+ }
2036
+
2037
+ | 'line-through' 'underline' 'blink' 'overline' {
2038
+ result = val.map { |x| LexicalIdent.new(x) }
2039
+ }
2040
+
2041
+ | 'blink' 'overline' 'line-through' {
2042
+ result = val.map { |x| LexicalIdent.new(x) }
2043
+ }
2044
+
2045
+ | 'underline' 'blink' 'overline' {
2046
+ result = val.map { |x| LexicalIdent.new(x) }
2047
+ }
2048
+
2049
+ | 'overline' 'line-through' 'blink' {
2050
+ result = val.map { |x| LexicalIdent.new(x) }
2051
+ }
2052
+
2053
+ | 'blink' 'line-through' 'underline' {
2054
+ result = val.map { |x| LexicalIdent.new(x) }
2055
+ }
2056
+
2057
+ | 'overline' 'underline' 'blink' {
2058
+ result = val.map { |x| LexicalIdent.new(x) }
2059
+ }
2060
+
2061
+ | 'line-through' 'overline' 'underline' {
2062
+ result = val.map { |x| LexicalIdent.new(x) }
2063
+ }
2064
+
2065
+ | 'blink' 'underline' 'line-through' {
2066
+ result = val.map { |x| LexicalIdent.new(x) }
2067
+ }
2068
+
2069
+ | 'overline' 'blink' 'underline' {
2070
+ result = val.map { |x| LexicalIdent.new(x) }
2071
+ }
2072
+
2073
+ | 'line-through' 'underline' 'overline' {
2074
+ result = val.map { |x| LexicalIdent.new(x) }
2075
+ }
2076
+
2077
+ | 'overline' 'blink' 'line-through' {
2078
+ result = val.map { |x| LexicalIdent.new(x) }
2079
+ }
2080
+
2081
+ | 'line-through' 'blink' 'underline' {
2082
+ result = val.map { |x| LexicalIdent.new(x) }
2083
+ }
2084
+
2085
+ | 'blink' 'underline' 'overline' {
2086
+ result = val.map { |x| LexicalIdent.new(x) }
2087
+ }
2088
+
2089
+ | 'overline' 'line-through' 'underline' {
2090
+ result = val.map { |x| LexicalIdent.new(x) }
2091
+ }
2092
+
2093
+ | 'line-through' 'underline' 'blink' {
2094
+ result = val.map { |x| LexicalIdent.new(x) }
2095
+ }
2096
+
2097
+ | 'line-through' 'overline' 'blink' {
2098
+ result = val.map { |x| LexicalIdent.new(x) }
2099
+ }
2100
+
2101
+ | 'underline' 'blink' 'line-through' {
2102
+ result = val.map { |x| LexicalIdent.new(x) }
2103
+ }
2104
+
2105
+ | 'blink' 'overline' 'underline' {
2106
+ result = val.map { |x| LexicalIdent.new(x) }
2107
+ }
2108
+
2109
+ | 'underline' 'line-through' 'blink' {
2110
+ result = val.map { |x| LexicalIdent.new(x) }
2111
+ }
2112
+
2113
+ | 'overline' 'underline' 'line-through' {
2114
+ result = val.map { |x| LexicalIdent.new(x) }
2115
+ }
2116
+
2117
+ | 'line-through' 'blink' 'overline' {
2118
+ result = val.map { |x| LexicalIdent.new(x) }
2119
+ }
2120
+
2121
+ | 'underline' 'overline' 'blink' {
2122
+ result = val.map { |x| LexicalIdent.new(x) }
2123
+ }
2124
+
2125
+ | 'underline' 'overline' 'line-through' {
2126
+ result = val.map { |x| LexicalIdent.new(x) }
2127
+ }
2128
+
2129
+ | 'underline' 'line-through' 'overline' {
2130
+ result = val.map { |x| LexicalIdent.new(x) }
2131
+ }
2132
+
2133
+ | 'blink' 'line-through' 'overline' {
2134
+ result = val.map { |x| LexicalIdent.new(x) }
2135
+ }
2136
+
2137
+ | 'overline' 'line-through' {
2138
+ result = val.map { |x| LexicalIdent.new(x) }
2139
+ }
2140
+
2141
+ | 'line-through' 'underline' {
2142
+ result = val.map { |x| LexicalIdent.new(x) }
2143
+ }
2144
+
2145
+ | 'blink' 'overline' {
2146
+ result = val.map { |x| LexicalIdent.new(x) }
2147
+ }
2148
+
2149
+ | 'line-through' 'overline' {
2150
+ result = val.map { |x| LexicalIdent.new(x) }
2151
+ }
2152
+
2153
+ | 'overline' 'underline' {
2154
+ result = val.map { |x| LexicalIdent.new(x) }
2155
+ }
2156
+
2157
+ | 'overline' 'blink' {
2158
+ result = val.map { |x| LexicalIdent.new(x) }
2159
+ }
2160
+
2161
+ | 'underline' 'overline' {
2162
+ result = val.map { |x| LexicalIdent.new(x) }
2163
+ }
2164
+
2165
+ | 'line-through' 'blink' {
2166
+ result = val.map { |x| LexicalIdent.new(x) }
2167
+ }
2168
+
2169
+ | 'underline' 'line-through' {
2170
+ result = val.map { |x| LexicalIdent.new(x) }
2171
+ }
2172
+
2173
+ | 'blink' 'line-through' {
2174
+ result = val.map { |x| LexicalIdent.new(x) }
2175
+ }
2176
+
2177
+ | 'blink' 'underline' {
2178
+ result = val.map { |x| LexicalIdent.new(x) }
2179
+ }
2180
+
2181
+ | 'underline' 'blink' {
2182
+ result = val.map { |x| LexicalIdent.new(x) }
2183
+ }
2184
+
2185
+ | 'underline' {
2186
+ result = val.map { |x| LexicalIdent.new(x) }
2187
+ }
2188
+
2189
+ | 'line-through' {
2190
+ result = val.map { |x| LexicalIdent.new(x) }
2191
+ }
2192
+
2193
+ | 'overline' {
2194
+ result = val.map { |x| LexicalIdent.new(x) }
2195
+ }
2196
+
2197
+ | 'blink' {
2198
+ result = val.map { |x| LexicalIdent.new(x) }
2199
+ }
2200
+
2201
+ | none
2202
+ ;
2203
+ text_indent
2204
+ : 'text-indent' text_indent_values { result = val[1] }
2205
+ | 'text-indent' inherit { result = val[1] }
2206
+ ;
2207
+ text_indent_values
2208
+ : length
2209
+ | percentage
2210
+ ;
2211
+ text_transform
2212
+ : 'text-transform' text_transform_values {
2213
+ result = LexicalIdent.new(val[1])
2214
+ }
2215
+ | 'text-transform' inherit { result = val[1] }
2216
+ ;
2217
+ text_transform_values
2218
+ : 'capitalize'
2219
+ | 'uppercase'
2220
+ | 'lowercase'
2221
+ | 'none'
2222
+ ;
2223
+ unicode_bidi
2224
+ : 'unicode-bidi' unicode_bidi_values { result = LexicalIdent.new(val[1]) }
2225
+ | 'unicode-bidi' inherit { result = val[1] }
2226
+ ;
2227
+ unicode_bidi_values
2228
+ : 'normal'
2229
+ | 'embed'
2230
+ | 'bidi-override'
2231
+ ;
2232
+ vertical_align
2233
+ : 'vertical-align' vertical_align_values { result = val[1] }
2234
+ | 'vertical-align' inherit { result = val[1] }
2235
+ ;
2236
+ vertical_align_values
2237
+ : vertical_align_values_ident { result = LexicalIdent.new(val.first) }
2238
+ | percentage
2239
+ | length
2240
+ ;
2241
+ vertical_align_values_ident
2242
+ : 'baseline'
2243
+ | 'sub'
2244
+ | 'super'
2245
+ | 'top'
2246
+ | 'text-top'
2247
+ | 'middle'
2248
+ | 'bottom'
2249
+ | 'text-bottom'
2250
+ ;
2251
+ visibility
2252
+ : 'visibility' visibility_values { result = LexicalIdent.new(val[1]) }
2253
+ | 'visibility' inherit { result = val[1] }
2254
+ ;
2255
+ visibility_values
2256
+ : 'visible'
2257
+ | 'hidden'
2258
+ | 'collapse'
2259
+ ;
2260
+ voice_family
2261
+ : 'voice-family' voice_family_values { result = val[1] }
2262
+ | 'voice-family' inherit { result = val[1] }
2263
+ ;
2264
+ voice_family_values
2265
+ : specific_voice_generic_voice_1toN { result = val.flatten }
2266
+ ;
2267
+ specific_voice_generic_voice_1toN
2268
+ : generic_voice COMMA specific_voice_generic_voice_1toN {
2269
+ result = [val.first, val.last]
2270
+ }
2271
+ | specific_voice COMMA specific_voice_generic_voice_1toN {
2272
+ result = [val.first, val.last]
2273
+ }
2274
+ | generic_voice
2275
+ | specific_voice
2276
+ ;
2277
+ generic_voice
2278
+ : generic_voice_ident { result = LexicalIdent.new(val.first) }
2279
+ ;
2280
+ generic_voice_ident
2281
+ : 'male'
2282
+ | 'female'
2283
+ | 'child'
2284
+ ;
2285
+ specific_voice
2286
+ : ident
2287
+ | string
2288
+ ;
2289
+ volume
2290
+ : 'volume' volume_values { result = val[1] }
2291
+ | 'volume' inherit { result = val[1] }
2292
+ ;
2293
+ volume_values
2294
+ : number
2295
+ | percentage
2296
+ | volume_values_ident { result = LexicalIdent.new(val.first) }
2297
+ ;
2298
+ volume_values_ident
2299
+ : 'silent'
2300
+ | 'x-soft'
2301
+ | 'soft'
2302
+ | 'medium'
2303
+ | 'loud'
2304
+ | 'x-loud'
2305
+ ;
2306
+ white_space
2307
+ : 'white-space' white_space_values { result = LexicalIdent.new(val[1]) }
2308
+ | 'white-space' inherit { result = val[1] }
2309
+ ;
2310
+ white_space_values
2311
+ : 'normal'
2312
+ | 'pre'
2313
+ | 'nowrap'
2314
+ | 'pre-wrap'
2315
+ | 'pre-line'
2316
+ ;
2317
+ windows
2318
+ : 'windows' integer { result = val[1] }
2319
+ | 'windows' inherit { result = val[1] }
2320
+ ;
2321
+ width
2322
+ : 'width' width_values { result = val[1] }
2323
+ | 'width' inherit { result = val[1] }
2324
+ ;
2325
+ width_values
2326
+ : length
2327
+ | percentage
2328
+ | auto
2329
+ ;
2330
+ word_spacing
2331
+ : 'word-spacing' word_spacing_values { result = val[1] }
2332
+ | 'word-spacing' inherit { result = val[1] }
2333
+ ;
2334
+ word_spacing_values
2335
+ : 'normal' { result = LexicalIdent.new(val.first) }
2336
+ | length
2337
+ ;
2338
+ z_index
2339
+ : 'z-index' z_index_values { result = val[1] }
2340
+ | 'z-index' inherit { result = val[1] }
2341
+ ;
2342
+ z_index_values
2343
+ : auto
2344
+ | integer
2345
+ ;
2346
+ /* vim: set filetype=racc : */