Search found 57 matches

by jcbollinger
Tue Jan 10, 2012 3:52 pm
Forum: CIF Application Programming Interface
Topic: Requirements List
Replies: 1
Views: 4939

Re: Requirements List

⋅  The API will support both CIF 1.1 and CIF 2.0 . (Degree and form of support for non-standard features and other syntax variants is yet to be determined.) ⋅  The API will support both (1) fast, small-footprint operation, and (2) a rich, expressive, and convenient public interf...
by jcbollinger
Tue Jan 10, 2012 2:06 pm
Forum: CIF Application Programming Interface
Topic: Requirements List
Replies: 1
Views: 4939

Requirements List

This topic is for documenting API requirements gleaned from discussions elsewhere in the forum. Discussion of these requirements generally belongs in other topics. Editorial comments about the requirements documented here are welcome in this topic, but be aware that I plan to delete such comments af...
by jcbollinger
Mon Jan 09, 2012 11:31 pm
Forum: CIF Application Programming Interface
Topic: Requirements for "core" features
Replies: 9
Views: 9519

Re: Requirements for "core" features

Returning to the "core" features. I would suggest considering (1) Open, read, update, create, close, delete a CIF file with or without supporting dictionaries. (2) Open, read, update, create, close, delete one or more datablocks withing a CIF file (3) Open, read, update, create, close, de...
by jcbollinger
Mon Jan 09, 2012 10:49 pm
Forum: CIF Application Programming Interface
Topic: Requirements for "core" features
Replies: 9
Views: 9519

Re: Requirements for "core" features

Strange to say, fortran 77 is still heavily used. Now that there is an ISO C-binding spec for fortran 2xxx, C can be used to support fortran reasonably well, but even in that case there are people who absolutely refuse to mix C and fortran for sound reasons. I have seen a lot of Fortran 77, and I h...
by jcbollinger
Mon Jan 09, 2012 9:56 pm
Forum: CIF Application Programming Interface
Topic: Scope of the API - language support
Replies: 3
Views: 6979

Re: Scope of the API - language support

yayahjb wrote:Microsoft VS C compatibility is also important. That would mean avoiding
conflicts with C89.

That's fine by me.
by jcbollinger
Mon Jan 09, 2012 9:40 pm
Forum: CIF Application Programming Interface
Topic: Scope of the API - features
Replies: 14
Views: 16309

Re: Scope of the API - features

Thank you, Herbert, I appreciate your insight. Having made the mistake of doing a non-validating CIF API and then adding validation to it -- I would say the biggest issues start in the design of the lexer and parser which need to be designed to allow for recovery after an error, rather than a hard a...
by jcbollinger
Mon Jan 09, 2012 7:04 pm
Forum: CIF Application Programming Interface
Topic: Scope of the API - features
Replies: 14
Views: 16309

Re: Scope of the API - features

As previously noted, I think failing to make allowances for validation in the initial design will greatly increased the difficulty in incorporating it later, while designing to include validation from the start costs very little and, when properly done can easily be turned off when efficiency or ot...
by jcbollinger
Mon Jan 09, 2012 6:10 pm
Forum: CIF Application Programming Interface
Topic: Requirements for "core" features
Replies: 9
Views: 9519

Re: Requirements for "core" features

I would suggest two separate efforts: 1. A simple event-driven parser/writer for applications requiring a light footprint; and 2. A full stored tree/database based parser for maximal functionality That sounds analogous to SAX and DOM parsers in the XML world. Is that the sort of thing you have in m...
by jcbollinger
Mon Jan 09, 2012 3:42 pm
Forum: CIF Application Programming Interface
Topic: Requirements for "core" features
Replies: 9
Views: 9519

Requirements for "core" features

In the "Scope - Features" topic, James characterized the core features of a CIF API like so: (1) Open, read, write, close a CIF file (2) Read, write a key-value pair (3) Open/Create a loop structure (4) Read/Write packets from a loop structure (5) Add/remove columns from a loop structure H...
by jcbollinger
Mon Jan 09, 2012 3:21 pm
Forum: CIF Application Programming Interface
Topic: Scope of the API - language support
Replies: 3
Views: 6979

Re: Scope of the API - language support

It is perhaps a question better considered later, but we will eventually need to decide on the native language(s) for the API. Having done that, we will have the option of defining bindings to the API for use from other languages. For example, my initial, weak inclination is to target a native C99 ...