Overview
ISO 1538:1984 - "Programming languages - ALGOL 60" is the International Standard that defines the algorithmic language ALGOL 60 (referred to in the text as ALGOL60 or "STANDARD ALGOL 60"). Prepared by ISO/TC 97 and based on the IFIP Modified Report, this standard presents the reference language for ALGOL 60 to promote portability and interchange of ALGOL 60 programs between data processing systems. It reproduces the formal syntax and semantics of the language and establishes rules for conforming implementations.
Key topics and technical requirements
- Reference language vs hardware representations: The standard defines a canonical reference representation (the defining language) and explains that hardware-specific representations must map to this reference with transliteration rules.
- Syntax and semantics: Uses metalinguistic (Backus-style) formulae to describe tokens, identifiers, numbers, strings, delimiters, expressions, statements, and declarations.
- Language constructs covered:
- Statements: compound blocks, assignment, GO TO, conditional, FOR, procedure statements
- Declarations: type, array, switch, procedure declarations and scope rules
- Expressions: variables, function designators, arithmetic and Boolean expressions
- Conformance rules:
- A conforming program must be a valid program per the standard.
- A conforming implementation must accept valid programs, reject non-valid programs, and execute valid programs according to the specified rules.
- Conforming language version: implemented language must not conflict with the standard.
- Extensions and subsets:
- Implementations may provide extensions if clearly documented and if omitting them yields conformance.
- Conformance to a specified subset is treated as conformance to that subset’s rules alone.
- Testing and documentation: Conformance may be demonstrated via test programs; implementation documents must describe any quantitative restrictions, extensions, or differences.
- Scope exclusions: The standard does not prescribe hardware representation or behavior for explicitly undefined results.
Applications and who uses it
- Compiler and translator developers use ISO 1538:1984 as the authoritative reference for building ALGOL 60 compilers, interpreters, and transliteration tools.
- Software porting and preservation teams rely on the standard to ensure portability and correct interpretation of legacy ALGOL 60 code.
- Academic and historical research into language design and compiler construction benefits from the formal descriptions and reference semantics.
- Quality assurance and conformance testing organizations use the conformance rules and testing guidance to validate implementations.
Related standards
- IFIP Modified Report on ALGOL 60 (source material referenced in the foreword)
- ISO/TR 1672 - hardware representation of ALGOL basic symbols in the ISO 7‑bit coded character set (referenced for character mapping and interchange)
Keywords: ISO 1538:1984, ALGOL 60, programming language standard, syntax and semantics, conformance, compiler, portability, IFIP.