- From: <bugzilla@jessica.w3.org>
- Date: Tue, 19 Jul 2011 12:55:44 +0000
- To: public-qt-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=13298 Summary: Clean the grammar of unnecessary trivial productions Product: XPath / XQuery / XSLT Version: Working drafts Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: XQuery 3.0 AssignedTo: jonathan.robie@gmail.com ReportedBy: gabipetrovay@gmail.com QAContact: public-qt-comments@w3.org Hi, The XQuery 3.0 grammar is full of unnecessary productions. One such example (out of many) is: [150] CompElemConstructor ::= "element" (EQName | ("{" Expr "}")) "{" ContentExpr? "}" [151] ContentExpr ::= Expr The ContentExpr translates to Expr and is not referred in the grammar anywhere else. The Computed Element Desription only mentions about "The content expression". Just for this, it makes no sense to have an additional productions. Having additional unnecessary productions make: - the grammar too verbose and harder to read - the implementers not respect the standard because of performace issues when implementing parsers - more work to maintain from both W3C and implementers This should be like in the already existing case of: [152] CompAttrConstructor ::= "attribute" (EQName | ("{" Expr "}")) "{" Expr? "}" where a ContentExpr is not necessary The only exceptions from this should be the following two because of their importance and extensive usage: [38] QueryBody ::= Expr [125] VarName ::= EQName [168] AtomicOrUnionType ::= EQName [184] AttributeName ::= EQName [185] ElementName ::= EQName [186] TypeName ::= EQName [191] URILiteral ::= StringLiteral The same request to remove the trivial production applies to the following: [29] VarValue ::= ExprSingle [30] VarDefaultValue ::= ExprSingle -> [28] description can easily make the destinction [35] FunctionBody ::= EnclosedExpr [56] CurrentItem ::= EQName [57] PreviousItem ::= EQName [58] NextItem ::= EQName -> [55] is explicit enough to only have EQName references [79] TryTargetExpr ::= Expr [151] ContentExpr ::= Expr -> make [150] it uniform with [152] [154] Prefix ::= NCName [155] PrefixExpr ::= Expr [156] URIExpr ::= Expr [179] AttributeDeclaration ::= AttributeName -> totally redundant All this makes the grammar have at least 12 less productions which is not bad. PS: Or at least make the grammar uniform. Either: 1. Remove all unnecessary productions or 2. Add all missing unnecessary productions -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Tuesday, 19 July 2011 12:55:50 UTC