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

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

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>

valid

> data_

invalid

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

valid

> data_foo _foo 'O5''

valid

> data_A data_B

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

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

cheers

Nick

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



Reply to: [list | sender only]