DocumentationEndless PL/I for OpenVMSUser Manual  ·  ESS-PFVUM-001

Chapter 1

Overview

Endless PL/I for OpenVMS is an implementation of a comprehensive and powerful programming language useful for systems programming, scientific computation, and commercial data handling and data organization. PL/I is a block-structured language that lends itself to the creation of efficient and maintainable structured programs. It has extensive string-handling capabilities. The Endless PL/I for OpenVMS compilers generate optimized, position-independent machine code.

Endless PL/I for OpenVMS 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 includes features of full PL/I that are easy to learn and use. It excludes features of full PL/I that are difficult to learn, prone to error, or not often used, and 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 OpenVMS offers many enhancements, which are extensions to that 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. Other extensions integrate Endless PL/I into the OpenVMS common language environment and into a complete programming environment. In general, the Endless PL/I extensions are intended for programs that will execute exclusively under the control of the OpenVMS operating system.

The Endless PL/I extensions provide for support of the OpenVMS Calling Standard, which allows PL/I procedures to call procedures written in other languages. The extensions provide access to the file capabilities of OpenVMS Record Management Services, and the OpenVMS file system; they provide improved condition handling; and they provide access to system services, which are operating-system procedures, and to run-time library procedures. 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.

PL/I can be used with a number of tools in a complete programming environment. For example, the OpenVMS Debugger is a powerful tool for debugging programs. Use of the debugger is described in Chapter 3, Using the OpenVMS Debugger of this manual. Other tools are optional products, including VSI DATATRIEVE, the VSI Data Dicitionary (VDD), Oracle CDD/Repository, and the Software Engineering Tools (VSI DECset).

VSI DECset includes several integrated components, including the VSI Code Management System (CMS), the VSI/Test Manager, the VSI Source Code Analyzer (SCA, Endless PL/I V3.9 for OpenVMS VAX only), the VAX Program Design Facility (PDF, Endless PL/I V3.9 for OpenVMS VAX only) , and the Language-Sensitive Editor (DECLSE). Notably, LSE can be a valuable aid when you write and compile a program, as it includes built-in intelligence about the source format and syntax of PL/I programs. Contact your system manager to find out which of these and other optional products are installed on your system.

ESS implementations of the PL/I language are fully described in the Endless PL/I for OpenVMS Reference Manual. That manual contains further information on the General-Purpose Subset, the Endless PL/I extensions, and the differences between Digital's implementations and other implementations of the PL/I language.