<div dir="ltr"><div dir="ltr"><div>Dear colleagues,</div><div><br></div><div>If you try to carefully read the EBNF in 18.17.2.3, you will</div><div>immediately be overwhelmed by its complexity. If you spend a bit of</div><div>time, you will find that the complexity is caused by two sets of very</div><div>similar rules. One is for *unquoted* worksheet prefixes and another</div><div>is for *quoted* worksheet prefixes.</div><div><br></div><div>If you give up the idea of using the EBNF to distinguish what is to be</div><div>quoted and what is not, you can merge the two sets into one set. The</div><div>result is a very readable EBNF:</div><div><br></div><div>cell-reference=</div><div> name</div><div> | [work-sheet-prefix, "!"] A1-reference</div><div> | [work-sheet-prefix, "!"] A1-reference, ":", A1-reference</div><div> | [work-sheet-prefix, "!"] R1C1-reference</div><div> | [work-sheet-prefix, "!"] R1C1-reference, ":", R1C1-reference ;</div><div><br></div><div>work-sheet-prefix=</div><div> sheet-name</div><div> | apostrophe, sheet-name, apostrophe </div><div><br></div><div> | sheet-name, ":", sheet-name</div><div> | apostrophe, sheet-name, ":", sheet-name, apostrophe</div><div><br></div><div> | "[", workbook-name, "]", sheet-name, ":", sheet-name</div><div> | apostrophe, "[", workbook-name, "]", sheet-name, apostrophe</div><div><br></div><div> | "[", workbook-name, "]", sheet-name,</div><div> ":", sheet-name</div><div> | apostrophe, "[", workbook-name, "]", sheet-name,</div><div> ":", sheet-name, apostrophe ;</div><div> </div><div>workbook-name= % A sequence of one or more characters that satisfies constraint X %</div><div><br></div><div>sheet-name= % A sequence of one or more characters that satisfies constraint Y %</div><div><br></div><div>apostrophe= "'" ; (* one apostrophe character *)</div><div><br></div><div>Constraint X: A workbook name in a worksheet index may contain</div><div>operator characters, "'", "[" , "]" , and "?" only when the worksheet</div><div>index is quoted by the apostrophe character. (This constraint has</div><div>to be adjusted more.)</div><div><br></div><div>Constraint Y: A sheet name in a worksheet index may contain operator</div><div>characters, "'", "[" , "]" , "\", and "?" only when the worksheet</div><div>index is quoted by the apostrophe character. (This constraint has</div><div>to be adjusted more.)</div><div><br></div><div>While constructing this EBNF, I find that work-sheet-prefix-special has </div><div><br></div><div> apostrophe, sheet-name-special, ":", sheet-name-special, apostrophe, "!"</div><div><br></div><div>as a possibility but work-sheet-prefix does not have </div><div><br></div><div> sheet-name, ":", sheet-name, "!"</div><div><br></div><div>Is this a mistake? (I suppose so.)</div><div><br></div><div>We should also introduce some normative text for encouraging quoting </div><div>when it is required. (This is missing in the published standard.)</div><div><br></div><div>Regards,</div><div>Makoto</div></div></div>
<br><br>
<FONT style="BACKGROUND-COLOR: #ffffff">
<P align=center><FONT style="BACKGROUND-COLOR: #ffffff">Click <a href="https://www.mailcontrol.com/sr/MZbqvYs5QwJvpeaetUwhCQ==">here</a> to report this email as spam.</FONT></P></FONT>
<br><br>
<P align=center><FONT style="BACKGROUND-COLOR: #ffffff">This message has been scanned for malware by Forcepoint. </FONT><A href="http://www.forcepoint.com/"><FONT style="BACKGROUND-COLOR: #ffffff" color=#000000>www.forcepoint.com</FONT></A></P>