Specifications

7
Compilers, Interpreters, and Assemblers
The OpenVMS operating system supports a variety of language compilers,
interpreters, and two assemblers, one for VAX computers and one for AXP
computers. The compilers whose names begin with VAX are available for
developing applications on OpenVMS VAX systems. Most of the compilers whose
names begin with DEC are available for developing applications on OpenVMS
VAX systems as well as OpenVMS AXP systems.
Most OpenVMS programming languages use all of the resources of the OpenVMS
operating system, and all of them can access any of the callable routines (system
services, utility routines, run-time library routines, and record management
services). Most OpenVMS languages are fully supported by the OpenVMS
Debugger. VAX APL and VAX DIBOL have their own debugger utility. Note that
most OpenVMS languages are optional software products.
This chapter describes:
Common language environment
Compilers, interpreters, and assemblers available on OpenVMS VAX and
OpenVMS AXP systems
7.1 Common Language Environment
The OpenVMS operating system supports a common language environment that
lets you develop mixed-language application programs and portable programs,
including the use of distributed functions for client/server environments. For
example, a program written in any of the programming languages supported by
OpenVMS can contain calls to procedures written in other supported languages.
The common language environment applies to both VAX and AXP computers.
For example, native AXP programs call native AXP programs written in other
languages, and native VAX programs call native VAX programs written in other
languages. The OpenVMS calling standard simplifies migrating mixed-language
applications between OpenVMS VAX and OpenVMS AXP systems.
All languages supported by OpenVMS adhere to the OpenVMS calling standard,
which describes the techniques used by all OpenVMS languages for invoking
routines and passing data between them. The standard also defines the
mechanisms that ensure consistency in error and exception handling routines,
regardless of the mix of programming languages in use. For more information
about OpenVMS data types and calling routines, see OpenVMS Programming
Interfaces: Calling a System Routine. For complete information about the calling
standard, see the OpenVMS Calling Standard.
71