Chapter 2.1 Specification of the STAR File

Definition and exchange of crystallographic data

First Online Edition (2006)

Part 2. Concepts and specifications

  1. S. R. Hall1,
  2. N. Spadaccini2

Published Online: 1 JAN 2006

DOI: 10.1107/97809553602060000727

International Tables for Crystallography

International Tables for Crystallography

How to Cite

Hall, S. R. and Spadaccini, N. 2006. Specification of the STAR File. International Tables for Crystallography. G:2:2.1:13–19.

Author Information

  1. 1

    School of Biomedical and Chemical Sciences, University of Western Australia, Crawley, Perth, WA 6009, Australia

  2. 2

    School of Computer Science and Software Engineering, University of Western Australia, 35 Stirling Highway, Crawley, Perth, WA 6009, Australia

Publication History

  1. Published Online: 1 JAN 2006


The general concepts and requirements of a universal exchange file are introduced in this chapter. The Self-defining Text Archive and Retrieval (STAR) File was designed to meet the requirements for a universal data-exchange mechanism, and it is the format widely used in structural science to exchange and archive numerical and text data. The STAR File structure is simple. Discrete data values, always represented by ASCII character strings, are identified by distinguishable tags. A file is partitioned into one or more blocks of data. Within each such block, one or more subsidiary blocks (known as save frames) may encapsulate a set of data items. In each block, a given tag may appear once only, but may index a single data value or a set of looped values. Loops of related items may be combined in tabular structures. Global blocks may occur that establish data values inherited by succeeding data blocks. This chapter describes the STAR File syntax and scoping rules in detail, and provides a formal grammar in extended Backus–Naur form.


  • STAR File specification;
  • data models;
  • universal data languages;
  • STAR File syntax;
  • STAR File grammar;
  • text strings;
  • data names;
  • data values;
  • data items;
  • looped lists;
  • save frames;
  • data blocks;
  • global blocks;
  • data sets;
  • privileged constructs;
  • Backus–Naur form;
  • lexical tokens