All structures in these documents, unless otherwise mentioned, are sub-types of a single structure, named zodiac. This structure has the form
zodiac (origin start finish)
where origin is an origin struct, while start and finish are location structs. The origin field is currently unused, and the origin struct is correspondingly unspecified. Locations are represented as a tuple of the line number, column number, file offset and file name:
location (line column offset file)
The line and column fields contain positive integers starting at 1, while offset contains a non-negative integer that starts at 0. The type of file is left unspecified. The period struct provides the location of periods in improper lists:
period (location)
Note that origin, location and period are not sub-types of zodiac.