Discussion List Archives

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

Re: CONFORMANCE [was Re: Survey of available CIF software and

  • To: Multiple recipients of list <comcifs-l@iucr.org>
  • Subject: Re: CONFORMANCE [was Re: Survey of available CIF software and
  • From: Nick Spadaccini <nick@cs.uwa.edu.au>
  • Date: Mon, 4 Dec 2000 01:17:46 GMT
On Fri, 1 Dec 2000, Peter Murray-Rust wrote:

> quasi-pathological examples. For example, which of the following are valid 
> CIFs (syntax only)
> <empty file>


> data_


> data _X _ ""

depends on context. If what preceded data is a dataname, then data is
value, followed by a valid data name (_X), then an invalid data name or
data value (_) - definitely an error and now the parser would be thrown
into confusion, what would happen would depend on your recovery process
from the previous error.

> data_foo _foo O5'


> data_foo _foo 'O5''


> data_A data_B

invalid. A named data block must have at least one data item (name and

> data_A data_a

As above, plus as there is no case sensistivity (I believe this is true
for CIF also) you have duplicate data block names.

> data_A loop_ _a _b

Depends on what follows. If nothing, you should throw an exception. How
you recover is a matter of choice. Some would issue a fatal and terminate.
On the otherhand if this was followed by a block terminator like, data_ or
loop_ (since you can't have nested loops) then the recovery may be, assume
the data is missing and continue.

> data_A loop_ a_ b_ 1 2 3

As above. You can't really tell what to do unless you know the context.
However you do have values which are NOT a multiple of the names in the
loop definition.



Dr Nick Spadaccini
Department of Computer Science &            voice: +(61 8) 9380 3452
Software Engineering                          fax: +(61 8) 9380 1089
University of Western Australia              
CRAWLEY, Perth,  WA  6009                  email: nick@cs.uwa.edu.au
AUSTRALIA                                 w3: www.cs.uwa.edu.au/~nick