Discussion List Archives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Backus-Naur Form for CIF

Nick has posted a revised BNF.  Here are some comments:

1.  The data on the document is "19th September 2000".  It needs to be
updated to 10th October 2000 to avoid confusion about the 30 day clock.

2.  The production <DATA_HEADING> has an upper case non-terminal name, but
is referenced as a lower-case non-terminal name, <data_heading>, in the
<data_block> production.  Since EBNF is normally case sensitive, it would
be a good idea to fix one non-terminal string or the other.  (The same
observation applies to <DATA_NAME>.)

3.  The production and comments for <data> are intending to convey the
very important distinction between uses of non-terminal whitespace and
whitespace which ends in line termination, but the comments use the term
"space" while the production uses the non-terminal string <spaces>.  This
is an unfortunate choice of terminology, since the "standard" name for the
ASCII character " " (32) is "SP", which is pronounced "space".

4.  What handling should be specified for SAVE_ STOP_ and GLOBAL_ ?
I would suggest we require parsers to recognize them (as well as DATA_ and
LOOP_) and then to reject them as non-quoted strings, as the proposed BNF 
rejects LOOP_ as a non-quoted string. Otherwise we could end up with CIFs
that would violate STAR rules.

5.  A data heading is specified to allow any <non_blank_char> in the
data block name.  This would permit both quote marks and all the national
characters in data block names.  Is this intentional?

6.  Similar comments as have been given for data headings apply to the
production for <DATA_NAME>.  For example, this BNF seems to accept


  _"' '"'

as a valid CIF.  Is this intentional?  Please note that we have another
level of control over strange data names via the dictionaries, but if
parsers are supposed to accept a very wide range of names, we should be
clear about it.

-- Herbert
****                BERNSTEIN + SONS
****     P.O. BOX 177, BELLPORT, NY 11713-0177
*   * ***
**** *            Herbert J. Bernstein
  *   ***     yaya@bernstein-plus-sons.com
 ***     *
  *   *** 1-631-286-1339    FAX: 1-631-286-1999