W3C home > Mailing lists > Public > public-qt-comments@w3.org > February 2016

[Bug 29501] [xp31] Colon is not in the list of non-terminal symbols

From: <bugzilla@jessica.w3.org>
Date: Tue, 23 Feb 2016 17:00:21 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-29501-523-HrvwXeapXs@http.www.w3.org/Bugs/Public/>
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29501

--- Comment #3 from Michael Kay <mike@saxonica.com> ---
MapConstructor-029 is actually quite interesting, because the wildcard *:b is
not one terminal symbol, but three (even though whitespace is not allowed). If
it were one terminal symbol, then it would be chosen in preference to "*" by
the "longest token" rule. But it isn't, so one could legitimately argue:

Given the input *:b:b

(a) the first token is unambiguously "*"

(b) the second token is unambiguously ":"

(c) the third token can be either the NCName "b" or the QName "b:b". Both are
"consistent with the EBNF" in the sense that there is a grammatical production
that accepts this token as a continuation - a Wildcard accepts the NCName,
while a MapConstructorEntry accepts the QName. The QName is longer, so this
should be chosen, meaning that the construct parses as map{*: (b:b)}

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Tuesday, 23 February 2016 17:00:25 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:57:59 UTC