1.1 --- a/css-syntax/Diagrams.src.html Fri Aug 30 16:02:46 2013 -0700 1.2 +++ b/css-syntax/Diagrams.src.html Sun Sep 01 16:18:24 2013 +0100 1.3 @@ -63,6 +63,8 @@ 1.4 add('whitespace', Diagram(Choice( 1.5 0, 'space', '\\t', NonTerminal('newline')))); 1.6 1.7 +add('hex digit', Diagram(NonTerminal('0-9 a-f or A-F'))); 1.8 + 1.9 add('escape', Diagram( 1.10 '\\', Choice(0, 1.11 NonTerminal('not newline or hex digit'), 1.12 @@ -151,15 +153,10 @@ 1.13 'U', 1.14 'u'), 1.15 '+', 1.16 - Choice(0, 1.17 - Sequence(OneOrMore(NonTerminal('hex digit'), Comment('1-6 times'))), 1.18 - Sequence( 1.19 - ZeroOrMore(NonTerminal('hex digit'), Comment('1-5 times')), 1.20 - OneOrMore('?', Comment('1 to (6 - digits) times'))), 1.21 - Sequence( 1.22 - OneOrMore(NonTerminal('hex digit'), Comment('1-6 times')), 1.23 - '-', 1.24 - OneOrMore(NonTerminal('hex digit'), Comment('1-6 times')))))); 1.25 + Sequence(OneOrMore(Choice(0, NonTerminal('hex digit'), '?'), Comment('1-6 times'))), 1.26 + Optional(Sequence( 1.27 + '-', 1.28 + OneOrMore(NonTerminal('hex digit'), Comment('1-6 times')))))); 1.29 1.30 add('〈include-match〉', Diagram('~=')); 1.31