Discussion List Archives

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

RE: Backus-Naur descriptions for STAR and CIF

  • Subject: RE: Backus-Naur descriptions for STAR and CIF
  • From: "Bollinger, John Clayton" <jobollin@xxxxxxxxxxx>
  • Date: Wed, 17 May 2000 17:10:52 +0100 (BST)

Nick Spadaccini wrote:
  [I wrote:] 
> > Well, an appropriate question would seem to be: "what is the purpose
> > of having a BNF representation?"  I would argue that the principal
> > reason is to have a concrete, formal, precise definition of the
> > language(s) for reference purposes.  Once we have a final BNF
> > representation for STAR, then, do we need additional BNFs for
> > restricted dialects of STAR?  Is it less precise or 
> concrete if we say
> > that a CIF, for example, is a STAR file that also satisfies certain
> > (specified) structural and syntactic constraints?  In the 
> cases of CIF,
> > DDL1, and DDL2, I don't think so.  In my opinion, the nature of the
> > relevant constraints is such that specific BNF 
> representations of those
> > languages wouldn't help us much more than the STAR BNF and 
> the relevant
> > set of restrictions.
> 
> Again my problem is in what form do you define these 
> restrictions. English
> prose is expressive but unfortunately easily open to 
> misinterpretation. A
> BNF on the other hand gives you a strong idea of the allowed syntactic
> constructs. By analogy we don't have one BNF describing imperative
> procedural programming languages, and then describe C, 
> Fortran etc as a
> set of restrictions to that BNF. It is far easier to have a 
> BNF for each
> language.

Your point is well taken, although I think the procedural programming
language analogy is a bit of a straw man.  The STAR/CIF situation is
different in that STAR is concrete and simple, as opposed to "procedural
programming language," which is abstract and complex.  Restricted STAR
dialects -- particularly CIF -- are largely defined by excluding
specific STAR features, which can be expressed pretty unambiguously
in English prose, and restricted STAR dialects have much more in common
with each other than do Fortran and C.

Here is a very important question, however: are all the pertinent
restrictions expressible in BNF?  I have been reading up on (E)BNF, and
I haven't figured out a reasonable way to express the 80 characters/line
restriction that CIF specifies.  The only techniques I can imagine are
absurdly complex, and I'm not even sure they would work.  If we can't
write a useful BNF-only description for CIF (or another STAR dialect)
then the question is moot, and we must instead ask how many of the
restrictions of a particular dialect, if any, do we want to express in
BNF form, and how will we express the remaining ones.

> The trick is, REDUCING the number of languages we are dealing with.

With that, I wholeheartedly agree!


Regards,

John Bollinger
Indiana University
Molecular Structure Center

jobollin@indiana.edu


Reply to: [list | sender only]
International Union of Crystallography

Scientific Union Member of the International Council for Science (admitted 1947). Member of CODATA, the ICSU Committee on Data. Member of ICSTI, the International Council for Scientific and Technical Information. Partner with UNESCO, the United Nations Educational, Scientific and Cultural Organization in the International Year of Crystallography 2014.

ICSU Scientific Freedom Policy

The IUCr observes the basic policy of non-discrimination and affirms the right and freedom of scientists to associate in international scientific activity without regard to such factors as ethnic origin, religion, citizenship, language, political stance, gender, sex or age, in accordance with the Statutes of the International Council for Science.