This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Why is RelationalExpr left associative?
Gavin Thomas Nicol writes:
> > So the question is: why are these kinds of expressions allowed? Are
> > there any useful situations in which one can benefit?
>
> I agree that the grammar is quirky. I think the intent here is to
> allow typical recursive definitions of expressions, which typically
> allow something like
>
> 3 > 2 > 1
>
> to appear.
The problem is that the semantics implied by the grammar are different
from the semantics that one might reasonably infer: that A > B > C is
asking if B is between A and C. There are few programming languages
that provide this semantics, but there are some.
>
> There are a number of things in XPath that are semantically
> invalid, but grammatically correct. Almost all of these are
> caused by some form of recursion, or inclusion of a construct
> to allow it's use in different contexts through recursion.
>
> "foo"
> 5
> "foo"[5]
> "foo"[5]
> "foo"["bar"[4]]
> 5[4[3[2[1]]]]
>
> are legal according to the grammar.
>
> I've often thought of recasting the grammar... but it's
> probably too late now.
>
>
>
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
>
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list