Overview
ISO/IEC 6522:1992 - Information technology - Programming languages - PL/1 general purpose subset - defines a standardized general-purpose subset of the PL/I programming language. The standard specifies the syntax and semantics of conforming PL/I programs by describing a conceptual PL/I machine that translates and interprets source programs. It is substantially upward compatible with earlier PL/I standards, with noted differences summarized in Appendix A. ISO/IEC 6522:1992 defines a conforming processor only in terms of those conforming programs and the machine behavior required to translate and interpret them.
Key topics and technical requirements
- Concrete and abstract syntax: formal production rules and notations for PL/I text, identifiers, constants, comments and character sets.
- Semantics: formal meaning of language constructs, expression evaluation, and runtime behavior as specified via the conceptual PL/I machine.
- Metalanguage and tree notation: use of a metalanguage (tree concepts, node objects, production rules) to define language structure and transformation.
- Translator model: separation of phases - low-level parse, high-level parse, validation, translation-unit completion and creation of abstract-equivalent trees.
- Machine-state and initialization: formal definition of the PL/I machine state and initialization operations used to interpret programs.
- Language constructs: declarations (data, variables, types), flow-of-control (IF, DO, SELECT, CALL, RETURN, GO TO), storage control, I/O (record and stream I/O, OPEN/CLOSE), ON-units (condition handling), format specifications and enquiry functions.
- Implementation flexibilities and limits: treatment of implementation-defined features and permitted variations (quantitative restrictions, addressing, character sets, interrupts, I/O, etc.).
- Validation and conformance: rules for validating translation units, completing declarations, and establishing conformance of programs and processors.
Applications and users
ISO/IEC 6522:1992 is primarily useful for:
- Compiler and tool developers implementing PL/I compilers, interpreters or static analyzers who need an authoritative definition of syntax and semantics.
- Legacy system maintainers and system integrators who must ensure consistent behavior across PL/I implementations.
- Test and QA teams creating conformance test suites and validation tools for PL/I processors.
- Academic and training purposes when teaching language design, parsing, or PL/I language features.
- Standards bodies and archivists documenting the relationship to earlier PL/I standards and preserving language definitions.
Related standards
- The standard notes compatibility and differences with previous PL/I standards (see Appendix A). It is published by ISO/IEC and complements other ISO programming-language specifications that use similar metalanguage and machine-based formalization.
Keywords: ISO/IEC 6522, PL/I subset, PL/1 general purpose subset, PL/I standard, programming languages standard, PL/I compiler, language specification, conforming implementation.