Skip to content

Commit 26594a3

Browse files
committed
[css2] Adapted grammar to allow control characters in strings and ignore unclosed string
--HG-- extra : convert_revision : svn%3A73dc7c4b-06e6-40f3-b4f7-9ed1dbc14bfc/trunk%402289
1 parent 7d65ae1 commit 26594a3

1 file changed

Lines changed: 8 additions & 4 deletions

File tree

css2/syndata.src

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
22
"http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd">
33
<html lang="en">
4-
<!-- $Id: syndata.src,v 2.109 2005-03-22 14:31:04 bbos Exp $ -->
4+
<!-- $Id: syndata.src,v 2.110 2005-04-12 13:11:25 bbos Exp $ -->
55
<head>
66
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
77
<title>Syntax and basic data types</title>
@@ -58,6 +58,7 @@ Lex, in case of multiple matches, the longest match determines the token.
5858
<tr><td>IDENT </td><td><code><var>{ident}</var></code></td></tr>
5959
<tr><td>ATKEYWORD </td><td><code>@<var>{ident}</var></code></td></tr>
6060
<tr><td>STRING </td><td><code><var>{string}</var></code></td></tr>
61+
<tr><td>INVALID </td><td><code><var>{invalid}</var></code></td></tr>
6162
<tr><td>HASH </td><td><code>#<var>{name}</var></code></td></tr>
6263
<tr><td>NUMBER </td><td><code><var>{num}</var></code></td></tr>
6364
<tr><td>PERCENTAGE </td><td><code><var>{num}</var>%</code></td></tr>
@@ -95,12 +96,15 @@ the above rules, and neither a single nor a double quote</var>
9596
<tr><td>nmstart </td><td><code>[_a-zA-Z]|<var>{nonascii}</var>|<var>{escape}</var></code></td></tr>
9697
<tr><td>nonascii</td><td><code>[^\0-\177]</code></td></tr>
9798
<tr><td>unicode </td><td><code>\\[0-9a-f]{1,6}(\r\n|[ \n\r\t\f])?</code></td></tr>
98-
<tr><td>escape </td><td><code><var>{unicode}</var>|\\[ -~\200-\4177777]</code></td></tr>
99+
<tr><td>escape </td><td><code><var>{unicode}</var>|\\[^\n\r\f0-9a-f]</code></td></tr>
99100
<tr><td>nmchar </td><td><code>[_a-zA-Z0-9-]|<var>{nonascii}</var>|<var>{escape}</var></code></td></tr>
100101
<tr><td>num </td><td><code>[0-9]+|[0-9]*\.[0-9]+</code></td></tr>
101102
<tr><td>string </td><td><code><var>{string1}</var>|<var>{string2}</var></code></td></tr>
102-
<tr><td>string1 </td><td><code>\"([\t !#$%&amp;(-~]|\\{nl}|\'|<var>{nonascii}</var>|<var>{escape}</var>)*\"</code></td></tr>
103-
<tr><td>string2 </td><td><code>\'([\t !#$%&amp;(-~]|\\{nl}|\"|<var>{nonascii}</var>|<var>{escape}</var>)*\'</code></td></tr>
103+
<tr><td>string1 </td><td><code>\"([^\n\r\f\\"]|\\{nl}|<var>{escape}</var>)*\"</code></td></tr>
104+
<tr><td>string2 </td><td><code>\'([^\n\r\f\\']|\\{nl}|<var>{escape}</var>)*\'</code></td></tr>
105+
<tr><td>invalid </td><td><code><var>{invalid1}</var>|<var>{invalid2}</var></code></td></tr>
106+
<tr><td>invalid1</td><td><code>\"([^\n\r\f\\"]|\\{nl}|<var>{escape}</var>)*</code></td></tr>
107+
<tr><td>invalid2</td><td><code>\'([^\n\r\f\\']|\\{nl}|<var>{escape}</var>)*</code></td></tr>
104108
<tr><td>nl </td><td><code>\n|\r\n|\r|\f</code></td></tr>
105109
<tr><td>w </td><td><code>[ \t\r\n\f]*</code></td></tr>
106110
</table>

0 commit comments

Comments
 (0)