- From: Peter Coppens <pgp.coppens@pandora.be>
- Date: Sun, 21 Dec 2003 13:40:32 +0100
- To: "'Michael Dyck'" <jmdyck@ibiblio.org>, <www-ql@w3.org>
Not sure this still belongs on the list....let me know if it does not. > > > 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). A.4 also contains "In the cases where a number of operators are a choice at the same production level, the expressions are always evaluated from left to right". Is this reflected in the EBNF? If so, I am not sure I understand how that is done. To give a more common example: $v1 div $v2 * $v3. I assume this falls under : UnaryExpr ( ("*" | "div" | "idiv" | "mod") UnaryExpr )*, which I think is ambiguous without the "A.4" sentence. > Parsing "some $v in $X satisfies A or B" as > > OrExpr > | > +------------+-----------+ > | | | > AndExpr "or" AndExpr > | | > QuantifiedExpr B > | > some $v in $X satisfies A > > is disallowed by Section A.1, because AndExpr does not derive > QuantifiedExpr. Thanks. I missed that....but does that not mean that "some $v in $X satisfies A or B" should result in a syntax error according to the current EBNF? > > 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. That is what I meant yes. But I have a feeling that needs to be reflected in a modified EBNF as well. > > -Michael Dyck >
Received on Sunday, 21 December 2003 07:40:58 UTC