@@ -42,7 +42,7 @@ <h3>Parsing</h3>
4242 var dt = document . createElement ( 'dt' ) ,
4343 dd = document . createElement ( 'dd' ) ;
4444 dt . textContent = name ;
45- name = name . toLowerCase ( ) . replace ( / [ \/ ] / g, '-' ) . replace ( / [ * ! ] / g, '' ) ;
45+ name = name . toLowerCase ( ) . replace ( / [ \/ ] / g, '-' ) . replace ( / [ * ! < > ] / g, '' ) ;
4646 dt . setAttribute ( 'id' , name + '-diagram' ) ;
4747 dd . appendChild ( diagram . toSVG ( ) ) ;
4848 preview . appendChild ( document . createTextNode ( '\t' ) ) ;
@@ -72,26 +72,28 @@ <h3>Parsing</h3>
7272 OneOrMore ( NonTerminal ( 'hex digit' ) , Comment ( '1-6 times' ) ) ,
7373 Optional ( NonTerminal ( 'whitespace' ) , 'skip' ) ) ) ) ) ;
7474
75- add ( '〈 whitespace〉 ' , Diagram ( OneOrMore ( NonTerminal ( 'whitespace' ) ) ) ) ;
75+ add ( '< whitespace-token> ' , Diagram ( OneOrMore ( NonTerminal ( 'whitespace' ) ) ) ) ;
7676
77- add ( '〈ident〉' , Diagram (
77+ add ( 'ws*' , Diagram ( ZeroOrMore ( NonTerminal ( '<whitespace-token>' ) ) ) ) ;
78+
79+ add ( '<ident-token>' , Diagram (
7880 Choice ( 0 , Skip ( ) , '-' ) ,
7981 Choice ( 0 , NonTerminal ( 'a-z A-Z _ or non-ASCII' ) , NonTerminal ( 'escape' ) ) ,
8082 ZeroOrMore ( Choice ( 0 ,
8183 NonTerminal ( 'a-z A-Z 0-9 _ - or non-ASCII' ) , NonTerminal ( 'escape' ) ) ) ) ) ;
8284
83- add ( '〈 function〉 ' , Diagram (
84- NonTerminal ( '〈 ident〉 ' ) , '(' ) ) ;
85+ add ( '< function-token> ' , Diagram (
86+ NonTerminal ( '< ident-token> ' ) , '(' ) ) ;
8587
86- add ( '〈 at-keyword〉 ' , Diagram (
87- '@' , NonTerminal ( '〈 ident〉 ' ) ) ) ;
88+ add ( '< at-keyword-token> ' , Diagram (
89+ '@' , NonTerminal ( '< ident-token> ' ) ) ) ;
8890
89- add ( '〈 hash〉 ' , Diagram (
91+ add ( '< hash-token> ' , Diagram (
9092 '#' , OneOrMore ( Choice ( 0 ,
9193 NonTerminal ( 'a-z A-Z 0-9 _ - or non-ASCII' ) ,
9294 NonTerminal ( 'escape' ) ) ) ) ) ;
9395
94- add ( '〈 string〉 ' , Diagram (
96+ add ( '< string-token> ' , Diagram (
9597 Choice ( 0 ,
9698 Sequence (
9799 '"' ,
@@ -110,21 +112,21 @@ <h3>Parsing</h3>
110112 Sequence ( '\\' , NonTerminal ( 'newline' ) ) ) ) ,
111113 '\'' ) ) ) ) ;
112114
113- add ( '〈 url〉 ' , Diagram (
114- NonTerminal ( '〈 ident "url"〉 ' ) ,
115+ add ( '< url-token> ' , Diagram (
116+ NonTerminal ( '< ident-token "url"> ' ) ,
115117 '(' ,
116- Optional ( NonTerminal ( '〈whitespace〉' ) , 'skip ') ,
118+ NonTerminal ( 'ws* ' ) ,
117119 Optional ( Sequence (
118120 Choice ( 0 , NonTerminal ( 'url-unquoted' ) , NonTerminal ( 'STRING' ) ) ,
119- Optional ( NonTerminal ( '〈whitespace〉' ) , 'skip ') ) ) ,
121+ NonTerminal ( 'ws* ' ) ) ) ,
120122 ')' ) ) ;
121123
122124add ( 'url-unquoted' , Diagram ( OneOrMore (
123125 Choice ( 0 ,
124126 NonTerminal ( 'not " \' ( ) \\ whitespace or non-printable' ) ,
125127 NonTerminal ( 'escape' ) ) ) ) ) ;
126128
127- add ( '〈 number〉 ' , Diagram (
129+ add ( '< number-token> ' , Diagram (
128130 Choice ( 1 , '+' , Skip ( ) , '-' ) ,
129131 Choice ( 0 ,
130132 Sequence (
@@ -142,13 +144,13 @@ <h3>Parsing</h3>
142144 Choice ( 1 , '+' , Skip ( ) , '-' ) ,
143145 OneOrMore ( NonTerminal ( 'digit' ) ) ) ) ) ) ;
144146
145- add ( '〈 dimension〉 ' , Diagram (
146- NonTerminal ( '〈 number〉 ' ) , NonTerminal ( '〈 ident〉 ' ) ) ) ;
147+ add ( '< dimension-token> ' , Diagram (
148+ NonTerminal ( '< number-token> ' ) , NonTerminal ( '< ident-token> ' ) ) ) ;
147149
148- add ( '〈 percentage〉 ' , Diagram (
149- NonTerminal ( '〈 number〉 ' ) , '%' ) ) ;
150+ add ( '< percentage-token> ' , Diagram (
151+ NonTerminal ( '< number-token> ' ) , '%' ) ) ;
150152
151- add ( '〈 unicode-range〉 ' , Diagram (
153+ add ( '< unicode-range-token> ' , Diagram (
152154 Choice ( 0 ,
153155 'U' ,
154156 'u' ) ,
@@ -163,21 +165,21 @@ <h3>Parsing</h3>
163165 '-' ,
164166 OneOrMore ( NonTerminal ( 'hex digit' ) , Comment ( '1-6 times' ) ) ) ) ) ) ;
165167
166- add ( '〈 include-match〉 ' , Diagram ( '~=' ) ) ;
168+ add ( '< include-match-token> ' , Diagram ( '~=' ) ) ;
167169
168- add ( '〈 dash-match〉 ' , Diagram ( '|=' ) ) ;
170+ add ( '< dash-match-token> ' , Diagram ( '|=' ) ) ;
169171
170- add ( '〈 prefix-match〉 ' , Diagram ( '^=' ) ) ;
172+ add ( '< prefix-match-token> ' , Diagram ( '^=' ) ) ;
171173
172- add ( '〈 suffix-match〉 ' , Diagram ( '$=' ) ) ;
174+ add ( '< suffix-match-token> ' , Diagram ( '$=' ) ) ;
173175
174- add ( '〈 substring-match〉 ' , Diagram ( '*=' ) ) ;
176+ add ( '< substring-match-token> ' , Diagram ( '*=' ) ) ;
175177
176- add ( '〈 column〉 ' , Diagram ( '||' ) ) ;
178+ add ( '< column-token> ' , Diagram ( '||' ) ) ;
177179
178- add ( '〈 CDO〉 ' , Diagram ( '<' + '!--' ) ) ;
180+ add ( '< CDO-token> ' , Diagram ( '<' + '!--' ) ) ;
179181
180- add ( '〈 CDC〉 ' , Diagram ( '-' + '->' ) ) ;
182+ add ( '< CDC-token> ' , Diagram ( '-' + '->' ) ) ;
181183
182184
183185document . getElementsByTagName ( 'textarea' ) [ 0 ] . value = '\t' + preview . outerHTML
@@ -192,14 +194,14 @@ <h3>Parsing</h3>
192194var NT = NonTerminal
193195
194196add ( 'Stylesheet' , Diagram ( ZeroOrMore ( Choice ( 3 ,
195- NT ( '〈 CDO〉 ' ) , NT ( '〈 CDC〉 ' ) , NT ( '〈 whitespace〉 ' ) ,
197+ NT ( '< CDO-token> ' ) , NT ( '< CDC-token> ' ) , NT ( '< whitespace-token> ' ) ,
196198 NT ( 'Qualified rule' ) , NT ( 'At-rule' ) ) ) ) ) ;
197199
198200add ( 'Rule list' , Diagram ( ZeroOrMore ( Choice ( 1 ,
199- NT ( '〈 whitespace〉 ' ) , NT ( 'Qualified rule' ) , NT ( 'At-rule' ) ) ) ) ) ;
201+ NT ( '< whitespace-token> ' ) , NT ( 'Qualified rule' ) , NT ( 'At-rule' ) ) ) ) ) ;
200202
201203add ( 'At-rule' , Diagram (
202- NT ( '〈 at-keyword〉 ' ) , ZeroOrMore ( NT ( 'Component value' ) ) ,
204+ NT ( '< at-keyword-token> ' ) , ZeroOrMore ( NT ( 'Component value' ) ) ,
203205 Choice ( 0 , NT ( '{} block' ) , ';' ) ) ) ;
204206
205207add ( 'Qualified rule' , Diagram (
@@ -217,13 +219,11 @@ <h3>Parsing</h3>
217219 NT ( 'Declaration list' ) ) ) ) ) ;
218220
219221add ( 'Declaration' , Diagram (
220- NT ( '〈 ident〉 ' ) , NT ( 'ws*' ) , ':' ,
222+ NT ( '< ident-token> ' ) , NT ( 'ws*' ) , ':' ,
221223 ZeroOrMore ( NT ( 'Component value' ) ) , Optional ( NT ( '!important' ) ) ) ) ;
222224
223225add ( '!important' , Diagram (
224- '!' , NT ( 'ws*' ) , NT ( '〈ident "important"〉' ) , NT ( 'ws*' ) ) ) ;
225-
226- add ( 'ws*' , Diagram ( ZeroOrMore ( NT ( '〈whitespace〉' ) ) ) ) ;
226+ '!' , NT ( 'ws*' ) , NT ( '<ident-token "important">' ) , NT ( 'ws*' ) ) ) ;
227227
228228add ( 'Component value' , Diagram ( Choice ( 0 ,
229229 NT ( 'Preserved token' ) ,
@@ -238,7 +238,7 @@ <h3>Parsing</h3>
238238add ( '[] block' , Diagram ( '[' , ZeroOrMore ( NT ( 'Component value' ) ) , ']' ) ) ;
239239
240240add ( 'Function block' , Diagram (
241- NT ( '〈 function〉 ' ) ,
241+ NT ( '< function-token> ' ) ,
242242 ZeroOrMore ( NT ( 'Component value' ) ) ,
243243 ')' ) ) ;
244244
0 commit comments