csspool 0.1.0

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