Skip to content

Commit 3f5525c

Browse files
committed
[css2] Fixed grammar of selectors.
--HG-- extra : convert_revision : svn%3A73dc7c4b-06e6-40f3-b4f7-9ed1dbc14bfc/trunk%40177
1 parent ef5202f commit 3f5525c

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

css2/grammar.src

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
22
<html lang="en">
3-
<!-- $Id: grammar.src,v 1.7 1997-09-23 14:15:32 ian Exp $ -->
3+
<!-- $Id: grammar.src,v 1.8 1997-09-30 18:31:28 bbos Exp $ -->
44
<HEAD>
55
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
66
<TITLE>Appendix D: The grammar of CSS2</TITLE>
@@ -57,8 +57,8 @@ ruleset
5757
selector
5858
: simple_selector [ '~'? simple_selector]*
5959
[ pseudo_element | solitary_pseudo_element ]?
60-
| solitary_pseudo_element
61-
;
60+
| solitary_pseudo_element
61+
;
6262
/* An "id" is an ID that is attached to an element type
6363
** on its left, as in: P#p007
6464
** A "solitary_id" is an ID that is not so attached,
@@ -67,17 +67,23 @@ selector
6767
*/
6868
simple_selector
6969
: predecessor? element_name id? class* attribs? pseudo_class?
70-
predecessor id class* attribtes? pseudo_class? /* eg: /H1/ #xyz33 */
71-
predecessor class* attribs? pseudo_class? /* eg: /H1/ .author*/
72-
predecessor attribs pseudo_class? /* eg: /H1/ [align]*/
73-
predecessor pseudo_class /* eg: /H1/ :link */
74-
solitary_id class* pseudo_class? /* eg: #xyz33 */
75-
solitary_class class* pseudo_class? /* eg: .author */
76-
solitary_pseudo_class /* eg: :link */
77-
;
70+
| predecessor id class* attribs? pseudo_class? /* eg: /H1/ #xyz33 */
71+
| predecessor class* attribs? pseudo_class? /* eg: /H1/ .author*/
72+
| predecessor attribs pseudo_class? /* eg: /H1/ [align]*/
73+
| predecessor pseudo_class /* eg: /H1/ :link */
74+
| solitary_id class* pseudo_class? /* eg: #xyz33 */
75+
| solitary_class class* pseudo_class? /* eg: .author */
76+
| solitary_pseudo_class /* eg: :link */
77+
;
78+
predecessor
79+
: '/' element_name '/'
80+
;
7881
element_name
7982
: IDENT
8083
;
84+
attribs
85+
: [ IDENT [ [ '=' | '==' ] STRING ]? ]+
86+
;
8187
pseudo_class /* as in: A:link */
8288
: LINK_PSCLASS_AFTER_IDENT
8389
| VISITED_PSCLASS_AFTER_IDENT

0 commit comments

Comments
 (0)