- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 07 Jul 2005 01:31:53 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1378 ------- Additional Comments From cmsmcq@w3.org 2005-07-07 01:31 ------- For what it's worth, I agree that this note should probably be reworded. On the other hand, I have some isuses with the rewording proposed in Bug 1390. Working partly from the current text, partly from this comment, and partly from the proposal in bug 1390, I produce this sketch, for what it's worth: A single slash may appear either as a complete path expression or as the first part of a path expression in which it is followed by a RelativePathExpression, which can take the form of a NameTest ("*" or a QName). In contexts where operators like "*", "union", etc., can occur, parsers may have difficulty distinguishing operators from NameTests. For example, without lookahead the first part of the expression "/ * 5", for example is easily taken to be a complete expression, "/ *", which has a very different interpretation (the child nodes of "/"). [Optionally display the two parse trees from bug 1390 here.] To reduce the need for lookahead, therefore, if the token immediately following a slash is "*" or a keyword, then the slash must be the beginning, but not the entirety, of a PathExpression (and the following token must be a NameTest, not an operator). A single slash may be used as the left-hand argument of an operator by parenthesizing it: "(/) * 5". The expression "5 * /", on the other hand, is legal without parentheses. This is longer and clumsier than I'd like, and could use a cold-eyed revision by a merciless editor. But I offer it as a possible improvement.
Received on Thursday, 7 July 2005 01:31:55 UTC