5 Programming Tools

5-1 STARLSE SUN/105.5
Starlink Language Sensitive Editor

STARLSE is based on the VAX Language Sensitive Editor LSE. It exploits the extensibility of LSE to provide a Language Sensitive Editor with special facilities for the ADAM programmer. These include definitions of the calling sequences for most of the libraries which appear in this guide, together with on-line help information. Standard prologue templates are also provided, with information being filled in automatically by the editor in many cases. These prologues may be processed into various forms of documentation using applications from the SST package (see SUN/110).

5-2 SST SUN/110.1
Simple Software Tools

Simple tools for performing common operations on software, implemented as a package of ADAM applications. The most important feature of this package is the ability to process prologue information formatted using STARLSE (see SUN/105) into documentation in the form of LATEX documents, help libraries, or LSE subroutine-library definitions. The resulting subroutine-library definitions may then be used with STARLSE.

Utility for Compiling Generic Fortran

GENERIC is a utility which pre-processes “generic” Fortran code into multiple versions which are capable of processing different data types (all the primitive numeric types are supported together with character and logical values). It works by detecting special tokens embedded in the input file. GENERIC integrates with the PRIMDAT package (see SUN/39) which provides consistently named routines for performing operations on primitive data.

5-4 SPT SUN/111.2
Software Porting Tools

A package of tools to assist when moving software between different hardware platforms. At present there are two SPT tools available; a utility for moving Fortran 77 software between VAX/VMS and UNIX systems (it performs those unavoidable conversions which are needed in this situation, including the translation of include file names) and a utility for defining “soft links” to standard Starlink include files on UNIX systems.