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

[ddlm-group] CIF2 summary?

Is there a summary of the CIF2 syntax somewhere, or is it still just an 
ongoing discussion?

My understanding so far is:

HEADER:
The "magic" initial comment "#CIF2" is required.

LISTS:
Item lists within braces (aka curly brackets) and delimited by commas. 
There is more than one use of the list syntax, but all types of lists 
probably have a common parsing syntax. I assume that quoting rules are 
the same for normal item values, and that commas and braces must all be 
contained in quotes. Can a list contain semicolon delimited strings?

Also, how is the use of comma delimiting within a list advantageous? 
Wouldn't the STAR2 syntax be easier, where tokenizing values within a 
list is identical to tokenizing outside of the list?

UTF-8:
Support for UTF-8 characters. Is this only for strings, and possibly 
comments, or can data names have UTF-8 as well?

Are there any plans in the DDL to restrict where UTF-8 can be used? 
Eventually, it might be nice to put Greek letters in atom names, but 
most software assumes ASCII.

TRIPLE QUOTES:
Triple double-quotes can be used to delimit single or multiple line 
strings. They can contain any printable characters except for a 
triple-quote that is not immediately preceded by '\'. Can the 
triple-quote strings contain non-printable chars, i.e. for efficient 
binary encoding? If so, is NUL allowed?

UNQUOTED CHARACTERS:
More restrictions on characters allowed in unquoted strings. I am mostly 
guessing here: Unquoted strings cannot contain anywhere in the string: 
curly brackets, square brackets, or quote characters followed by 
non-whitespace. Are the characters '$' and '#' disallowed anywhere, or 
just at the beginning?

QUOTED STRINGS:
In quoted strings, a matching quote character followed by non-whitespace 
still count as a quote, unless preceded by '\'. Otherwise, it is a
syntax error, because whitespace is required between strings.


_______________________________________________
ddlm-group mailing list
ddlm-group@iucr.org
http://scripts.iucr.org/mailman/listinfo/ddlm-group

Reply to: [list | sender only]