Chapter 1
Overview of Endless PL/I for POSIX Systems
Endless PL/I for POSIX Systems is a comprehensive and powerful programming language useful for systems programming, scientific computation, and commercial data handling and data organization. It is a block-structured language that lends itself to the creation of efficient and maintainable structured programs. It has extensive string-handling capabilities.
Endless PL/I for POSIX Systems is Endless Software Solutions' implementation, with extensions, of the American National Standard PL/I General-Purpose Subset, ANSI X3.74-1981. The General-Purpose Subset is a subset of full PL/I, ANSI X3.53-1976.
The General-Purpose Subset was designed for scientific, commercial, and systems programming on small and medium-size computer systems. The subset excludes features of PL/I that are prone to error, not often used, or that greatly increase the complexity of run-time support required by the compiler.
Over and above its conformity to the General-Purpose Subset, Endless PL/I for POSIX Systems offers many enhancements that extend the functionality of the subset. Some of these extensions are features of full PL/I, and some are features for compatibility with other PL/I implementations in the industry, especially VAX PL/I. Other extensions integrate Endless PL/I for POSIX Systems into the common language environment of POSIX systems and into a complete programming environment. Endless PL/I for POSIX Systems extensions are intended for programs that will execute exclusively under the control of the UNIX operating system.
The Endless PL/I for POSIX Systems extensions provide support for the UNIX Procedure Calling and Condition Handling Standard, allowing PL/I procedures to call procedures written in other languages. Another notable extension is the preprocessor, which allows for conditional compilation of programs and for compile-time source transformation; it enables users to write procedures that will be executed at compile time.
Endless PL/I for POSIX Systems can be used with a number of tools in a complete programming environment. For example, the
compiler system provides a source level, interactive debugger called dbg. This enables you to debug programs
as they execute.
The Endless PL/I for POSIX Systems language is fully described in the Endless PL/I for POSIX Systems Reference Manual. This reference manual contains further information on the General-Purpose Subset, the UNIX extensions, and the differences between Endless PL/I for POSIX Systems and other implementations of the PL/I language.
Endless PL/I for POSIX Systems is compatible with other versions of Endless PL/I (Open VMS and RISC ULTRIX) with some exceptions. VMS specific options that are not compatible are emulated, flagged at compile-time, or ignored, depending on the VMS specific option. See the appendix on language differences in the Endless PL/I for POSIX Systems Reference Manual for more information.