W3C home > Mailing lists > Public > public-script-coord@w3.org > April to June 2012

[Bug 17435] New: WebIDL: Bug in definition of whitespace terminal?

From: <bugzilla@jessica.w3.org>
Date: Thu, 07 Jun 2012 10:40:49 +0000
To: public-script-coord@w3.org
Message-ID: <bug-17435-3890@http.www.w3.org/Bugs/Public/>

           Summary: WebIDL: Bug in definition of whitespace terminal?
           Product: WebAppsWG
           Version: unspecified
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: WebIDL
        AssignedTo: cam@mcc.id.au
        ReportedBy: wolfgangkeller@gmail.com
         QAContact: public-webapps-bugzilla@w3.org
                CC: mike@w3.org, public-script-coord@w3.org

In the definition of the terminals in section "A. IDL grammar" you'll find the
following definition of the whitespace terminal:

whitespace = [\t\n\r ]+|[\t\n\r ]*((//.*|/\*.*?\*/)[\t\n\r ]*)+

Let's look at its part specific to block comments ("/* ... */"):


What does this regular expression look for (see the referenced document
http://search.cpan.org/dist/perl/pod/perlre.pod for details):

a string '/*'
followed by 0 or more "any character (except newline)", not greedily (the
latter one follows by using '*?' instead of '*')
followed by the string '*/'.

What consequence does this have? The answer is that block comments can't
contain newline characters between the block comment delimiters - I don't
believe this is what you intend.

Thus I believe, the regular expression has to be fixed. I propose the following
fix, but better check it thrice for correctness:

We change the part


Thus the complete definition of the whitespace terminal changes to
whitespace = [\t\n\r ]+|[\t\n\r ]*((//.*|/\*[.\n]*?\*/)[\t\n\r ]*)+

Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
Received on Thursday, 7 June 2012 10:40:58 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:06 UTC