[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Urgent: external named expressions
Hi, Sorry for gatecrashing, while working on a OOoCalc feature for external named expressions some doubts about our current draft arose. Section "5.11 Named Expressions" defines NamedExpression ::= Identifier | NamedExprLocator? '$$' (Identifier | SingleQuoted) NamedExprLocator ::= (Source '#')? (QuotedSheetName '.')? with test case examples in "5.11.2 External Named Expressions" reading ='./openformula-testsuite.ods'#'$$FOUR and "5.11.3 Sheet-local Named Expressions" ='./openformula-testsuite.ods'#'Sheet1'.$$FOUR I think that it would be much better to treat external and sheet-local named expressions similar to references by enclosing them in a pair of square brackets. For one, they _are_ references, as they refer to another sheet or document. Second, it would be easier to parse as the square brackets clearly delimit the expression, and it may even fit into already existing reference parsers. This would give: NamedExpression ::= Identifier | NamedExprMarked | NamedExprReference NamedExprMarked ::= '$$' (Identifier | SingleQuoted) NamedExprReference ::= '[' NamedExprLocator NamedExprMarked ']' NamedExprLocator ::= (Source '#')? (QuotedSheetName '.')? with examples =['./openformula-testsuite.ods'#'$$FOUR] =['./openformula-testsuite.ods'#'Sheet1'.$$FOUR] What do you think? Better wording for NamedExprMarked, anyone? Eike -- Automatic string conversions considered dangerous. They are the GOTO statements of spreadsheets. --Robert Weir on the OpenDocument formula subcommittee's list.