Skip to content

Commit a933e5a

Browse files
author
L. Grondin
committed
Merge branch 'master' of github.com:perl6/perl6-examples
2 parents b841ad6 + c35ee7a commit a933e5a

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

parsers/CSSGrammar.pm

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,23 @@ grammar CSSGrammar {
55

66
token TOP { ^ <import>* <css>* $ || <.panic: "CSS parsing failed"> };
77
token css { <ruleset> | <media> | <page> };
8-
# rule ruleset { <selector> ** ',' '{' <declaration> ** ';' '}' };
9-
rule ruleset { <selector> [ ',' <selector> ]* <declarations> }
10-
rule declarations { '{' <declaration> [ ';' <declaration> ]* '}' }
11-
# token selector { <simple_selector> ** <combinator> ] };
12-
token selector { <simple_selector> [ <combinator> <simple_selector> ]* };
8+
rule ruleset { <selector> +% ',' <declarations> }
9+
rule declarations { '{' <declaration> +%% ';' '}' }
10+
rule selector { <simple_selector> +% <combinator>? };
1311
token simple_selector { <element_name> [ <hcap> ]* | <hcap>+ };
1412
token hcap { '#' | <class> | <attrib> | <pseudo> };
1513
token class { '.' <cssident> };
1614
token element_name { <cssident> | '*' };
1715
token attrib { '[' <cssident> [ [ '=' | <INCLUDES> | <DASHMATCH> ] [ <cssident> | <string> ] ]? ']' };
1816
token pseudo { ':' [ <cssident> | <FUNCTION> <cssident>? ')' ] };
19-
token combinator { '+' | '>' | '' };
17+
rule combinator { '+' | '>' | '' };
2018

21-
token declaration { <property> ':' <expr> <prio>? | '' };
19+
rule declaration { <property> ':' <expr> <prio>? };
2220
token property { <cssident> };
2321
token prio { <important_sym> };
24-
# token expr { <term> ** <operator> }
25-
token expr { <term> [ <operator> <term> ]* };
22+
token expr { <term> +% <operator> };
2623
token cssident { '-'?<namestart><namechar>* };
2724
rule term { <unary_operator>?
28-
2925
[ <number> | <percentage> | <length> | <ems> | <exs> | <angle> | <time> | <freq> ]
3026
| <string> | <cssident> | <uri> | <hexcolor> | <function>
3127
};

0 commit comments

Comments
 (0)