Program names

Every program source file in the Xtal system is identified by a two-character code, 'xx'. xx represents an alphabetic abbreviation for the program name. For example, the program code for ABSORB is AB; and for STARTX it is SX. The names of subroutines within a program must start with the two letter code followed by a two digit number. For example the first subroutine in STARTX is SX00. The names of all nucleus subroutines (which are described in detail below) start with the letters AA.

The numeric sequence number identifies the relationship between subroutines in a program. The number 00 designates the 'entry-point' subroutine. This is the subroutine which is 'called' by the Xtal nucleus to start a particular calculation, and in which 'calls' all other subroutines (directly or indirectly) in the program. Sequence numbers are assigned to emphasise both the progression of the calculation (low numbers at the start, high numbers at the end), as well as the relationship to other subroutines (e.g. 00 calls 10, 20, 30; 10 calls 11, 12, 13; and so on).

The systematic naming of subroutines avoids conflicts with local subroutine names; uniquely identifies to which calculation each subroutine belongs and permits the use of a unique and simple line-labelling scheme. The tidy program RFT is used to insert the line identifier 'XXnn mmm' in columns 73 to 80. Note that the program code for this labelling is extracted from the systemheader: macro at the start of each program (see below).