W3C home > Mailing lists > Public > public-qt-comments@w3.org > May 2009

[Bug 6927] New: XQuery 1.1 is not an LL(k) language because of the optional "outer" keyword

From: <bugzilla@wiggum.w3.org>
Date: Wed, 20 May 2009 15:22:26 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-6927-523@http.www.w3.org/Bugs/Public/>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=6927

           Summary: XQuery 1.1 is not an LL(k) language because of the
                    optional "outer" keyword
           Product: XPath / XQuery / XSLT
           Version: Working drafts
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: major
          Priority: P2
         Component: XQuery 1.1
        AssignedTo: jonathan.robie@redhat.com
        ReportedBy: gabriel.petrovay@28msec.com
         QAContact: public-qt-comments@w3.org


Hi all,

XQuery 1.1 is not an LL(k) language because of the optional "outer" keyword
(yes I know XQuery has no keywords).

Take the following 2 correct queries:

1.
for $x in outer for $y in Expr return 2

2.
for $x in outer for $y in Expr return 2 return 3


The parser has a problem when parsing the "outer for" token sequence because it
does not know which production to take next because of the OPTIONAL "outer"
keyword. Is it a nested "outer for" or the "outer" step expression followed by
a simple "for" clause?

Of course that, by reading the whole input you can determine if the expression
is correct, but the language is not anymore an LL(k) one. This is because for
any k > 0, one can find an expression (Expr) having [number of tokens] > k such
that the parser cannot parse the language.

Regards,
Gabriel


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Wednesday, 20 May 2009 15:22:35 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:14:57 GMT