antisamy 0.2.1 → 0.3.0

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