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" > "foo" > "foo"["bar"] > 5[4[3[2]]] > > 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
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format