Contact us Heritage collections Image license terms
HOME ACL Associates Technology Literature Applications Society Software revisited
Further reading □ OverviewNo.1No.2No.3No.4No.5No.6No.7No.8No.9No.10No.11No.12No.13No.14No.15No.16No.17No.18No.19No.20No.22No.23No.24No.25
ACD C&A INF CCD CISD Archives Contact us Heritage archives Image license terms

Search

   
ACLLiteratureProgress ReportsSPROGS Technical Papers
ACLLiteratureProgress ReportsSPROGS Technical Papers
ACL ACD C&A INF CCD CISD Archives
Further reading

Overview
No.1
No.2
No.3
No.4
No.5
No.6
No.7
No.8
No.9
No.10
No.11
No.12
No.13
No.14
No.15
No.16
No.17
No.18
No.19
No.20
No.22
No.23
No.24
No.25

SPROGS Technical Paper No 7: The SPROGS generation system

R E Thomas

15 January 1973

The following is a description of the system used to generate a new version of SPROGS. It may be necessary to change the exact number of source files, but the principles laid out here should still hold. Listing the appropriate files will show how the current version works.

1. SOURCE FILES

The source of the system is held in :SPROGS.SOURCE. There are currently two FORTRAN files and three PLAN files. FORTSRC1 and PLANSRC1 are the FORTRAN and PLAN routines which must always be present during a SPROGS run. They are combined to form one library file. FORTSRC2, PLANSRC2 and PLANSRC2A are source routines which are called only when necessary. FORTSRC2. is ordered to allow the library to work correctly. The routines in PLANSRC2 are added to the end of the library, and the routines in PLANSRC2A are inserted in the middle of the FORTRAN routines, again to preserve the necessary library ordering (libraries are scanned forward once only).

2. EDIT FILES

Corrections to the source files are kept under .SPROGS.EDITS. The appropriate edits for each file are kept in files whose names correspond to the source file preceded by ED, thus: EDFORTSRC1, EDPLANSRC1, etc. EDCOMMON contains the edit commands necessary to generate an appropriate edits file for each source program to include the common blocks.

3. COMMON

The system COMMON blocks are kept under :SPROGS.COMMON. An X at the end of a file name indicates a PLAN version of the specified COMMON block.

4. SYSTEM GENERATION

To generate a new system, use

      SPROGSGEN parameter list 

under :SPROGS. If the parameter list is null, all SOURCE compilations will be listed. Otherwise a list of compilation listings can be given (in shorthand) as follows:

      FORT1, PLAN2 

will give listings of FORTSRC1 and PLANSRC2 compilations. The parameter NONE will prevent any printing of compilation listings.

SPROGSGEN initiates a background job to run SPROGSGEN1 under :SPROGS.LIB

4.1 The Library Macros

The directory :SPROGS.LIB contains the three macros used in the generation. SPROGSGEN1 is the driving macro. SPROGSEDIT performs compilations and SPROGSLIB generates libraries. If an error occurs, a display giving details of the error and preceded by ======== is output. A row of ** is displayed between each section of the generation.

The final two libraries are contained in SPROGSEMI1 and SPROGSEMI2, with previous versions being preserved in SPROGSEMI1X and SPROGSEMI2X. If a compilation or a library generation fail, no update is effected.

4.2 SPROGSEDIT

This macro calls FORTRAN or PLAN for the appropriate compilation of the file specified by the parameters, after first performing any edits and adding any COMMON blocks.

4.3 SPROGSLIB

This generates the library specified by the parameter. XPES is used to collect the various semi-compiled routines and XFYZ is used to get the routines into directory format in files SPROGSEMI1T and SPROGSEMI2T. If an error occurs during XPES, the lineprinter output is listed but the system ignores the error, since XPES appears to throw up a number of spurious faults.

4.4 Notes

The system should delete all its temporary files as it goes. If it finds any lying around, it deletes them and creates another copy. It is therefore always safe to restart a generation run from the beginning if a crash occurs anywhere.

⇑ Top of page
© Chilton Computing and UKRI Science and Technology Facilities Council webmaster@chilton-computing.org.uk
Our thanks to UKRI Science and Technology Facilities Council for hosting this site