This document is the "DECsystem-10/20 ALGOL Programmer's Guide," published by Digital Equipment Corporation, with its latest revision dated April 1977.
The manual serves as a comprehensive guide for using DECsystem-10/20 ALGOL, an implementation of ALGOL-60. It is intended for programmers already familiar with ALGOL or high-level scientific programming languages like FORTRAN IV.
Key areas covered in the guide include:
- Introduction to DECsystem-10/20 ALGOL: Overview of the language, specific compiler extensions (e.g.,
LONG REAL
type, STRING
type with byte subscripting, WHILE
statement, assignments within expressions, external procedures), compiler restrictions, the ALGOL operating environment (ALGLIB and ALGOTS), and terminology.
- Language Fundamentals: Detailed explanations of program structure, basic and compound symbols, delimiter words, identifiers, scalar declarations (Integer, Real, Long Real, Boolean, String), various types of constants (numeric, octal, Boolean, ASCII, string), arithmetic and Boolean expressions (including operators and precedence), statements, assignments (single and multiple), control transfers (labels, GOTO, conditional statements, FOR and WHILE loops), arrays (including dynamic bounds and elements), and block structure (scope of variables).
- Procedures and Advanced Constructs: In-depth coverage of procedures, parameter passing (by value and by name), procedure headings, bodies, calls, advanced concepts like Jensen's Device and recursion, forward references, external procedures, and additional commentary methods. It also details the use of
SWITCHES
for multi-way branching and comprehensive STRING
manipulation capabilities.
- Data Transmission: Extensive information on input/output operations, including allocation and release of peripheral devices, device modes (ASCII, binary), buffering, error returns, selecting I/O channels, file operations (opening, closing, renaming, deleting), basic I/O procedures for bytes, strings, and numeric data, logical I/O, special magnetic tape operations, and checking I/O channel status.
- Operating Environment and Utilities: Describes mathematical procedures (trigonometric, exponential, logarithmic, absolute value, signum), string procedures, utility procedures (array dimension, minima/maxima, field manipulations), FORTRAN interface procedures for calling FORTRAN subroutines, general information routines, date/time functions, and random number routines.
- Running and Debugging: A practical guide to compiling, loading, and executing ALGOL programs, including compiler switches (e.g., for array bound checking, listing control), run-time diagnostics, and detailed usage of the ALGOL Dynamic Debugging System (ALGDDT) for interrupting execution, setting pauses, examining/altering variables, inspecting object code, and performance analysis.
- Macro Subroutines: Provides low-level details for interfacing with ALGOL programs using assembly language macro subroutines, including procedure headings, accessing formal parameters, returning results, procedure exits, variable formats, and utility routines for core management and I/O.
The document provides a thorough reference for developing and troubleshooting ALGOL applications on the DECsystem-10/20.