<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>