W3C home > Mailing lists > Public > www-ql@w3.org > October to December 2003

Re: Precedence rules for QuantifiedExpr - OrExpr - AndExpr

From: Michael Dyck <jmdyck@ibiblio.org>
Date: Sat, 20 Dec 2003 13:50:44 -0800
To: www-ql@w3.org
Cc: pgp.coppens@pandora.be
Message-id: <3FE4C434.4F22D3F6@ibiblio.org>

Peter Coppens wrote:
> I always thought that the EBNF (A.1) and the precedence rules (A.4) contain
> "duplicate" information.

They should. Section A.4 bills itself as a summary of the precedence
defined in section A.1 (and thus, should perhaps be non-normative).

> In other words the non-terminals of the EBNF or
> chosen so that they "reduce" in a way that the operator priorities are
> implemented as expected. A.4 also says that in case of doubt (the same
> level), the rules are applied left to right (left associative I believe it
> is called in "grammar" lingo).
> ...
> The same reasoning led me to believe that
> "some .... or ...." has to be interpreted as "(some ....) or (....)" and not
> as "some ... or ...."
> Can you indicate where my failure is.

The failure is in the precedence table.

Parsing "some $v in $X satisfies A or B" as

             |            |           |
          AndExpr        "or"      AndExpr
             |                        |
        QuantifiedExpr                B
    some $v in $X satisfies A

is disallowed by Section A.1, because AndExpr does not derive

However, section A.4 does not convey this, which leads to confusion. The
fix is presumably to move "or" from precedence level 2 to a new level
between the current levels 2 and 3. I think this is what you meant by

> > (3) would it not be possible to add an extra level of precendence where
> > the OrExpr comes to sit between QuantifiedExpr and AndExpr

though I'm not sure.

-Michael Dyck
Received on Saturday, 20 December 2003 16:52:07 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:43:43 UTC