This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]