 






     Software
     Product
     Description

     ________________________________________________________________

     PRODUCT NAME:  VAX Pascal, Version 4.2              SPD 25.11.30

     DESCRIPTION

     VAX Pascal is an implementation of the Pascal[*] language that
     accepts programs compatible with either level of the ISO spec-
     ification for Programming languages-Pascal [ISO 7185-1983(E)]
     as well as ANSI/IEEE 770X3.97-1983 (December, 1983). VAX Pascal
     also meets the Federal Information Processing Standard Publica-
     tion (FIPS-109) requirements by accepting programs conforming to
     the ANSI standard. VAX Pascal also accepts many features from
     the Extended Pascal standard (ANSI/IEEE 770X3.160-1989 and ISO
     10206).

     The compiler has been validated for both levels of the ISO unex-
     tended Pascal standard and for conforming to FIPS-109. Contain-
     ing extensions to the standards, VAX Pascal generates optimized,
     sharable code that takes full advantage of the VAX hardware
     floating point and character instruction sets and the virtual
     memory capabilities of the VMS Operating System. The language
     contains control statements, data types, and predeclared proce-
     dures and functions.

     Major Pascal Language Elements

     o  INTEGER, REAL, CHAR, BOOLEAN, enumerated, and subrange data
        types

     o  ARRAY, RECORD, SET, and FILE structured data types

     o  Schemata type denoting families of types

     ___________________
   [*] K. Jensen and N. Wirth, Pascal User Manual and Report, 2nd.  ed.,

       Spring-Verlag, New York 1974.

                                  DIGITAL               December 1990

                                                          AE-LX89E-TE

 


     VAX Pascal, Version 4.2                             SPD 25.11.30



     o  STRING schema denoting variable-length character strings up
        to 65,535 characters

     o  FOR, REPEAT, and WHILE repetitive control statements

     o  CASE, IF-THEN, and IF-THEN-ELSE conditional statements

     o  BEGIN...END compound statement

     o  GOTO statement

     o  User-defined procedures and functions that can return struc-
        tured types (other than file types)

     o  GET, PUT, READ, WRITE, READLN, and WRITELN input and output
        procedures

     o  Concatenation operator and set of predefined character string
        functions including INDEX, LENGTH, and SUBSTR

     o  Standard set of functions, procedures, and operators

     o  Module initialization and finalization

     o  Binding of file variables to external entities

     o  Initial state specification

     o  Enhanced structured value constructors

     o  Implementation characteristics (MAXCHAR, MINREAL, MAXREAL,
        EPSREAL)

     o  OTHERWISE clause and case ranges for CASE statement and
        variant records

     o  Date and Time functions and procedures

     o  Short Circuit Boolean Operators (AND_THEN and OR_ELSE)

     o  Non-Decimal representation of numbers

     o  Exponentiation operator (**)

     VAX Pascal Extensions

                                     2

 


     VAX Pascal, Version 4.2                             SPD 25.11.30



     o  DOUBLE (D_floating or G_floating) and QUADRUPLE data types
        that support the VAX extended range and extended precision
        floating point architectural features:

        -  64-bit D_floating data type, with an 8-bit exponent and
           56-bit mantissa, which provides a range of 0.29*10**-38 to
           1.7*10**38 and a precision of 16 decimal digits

        -  64-bit G_floating data type, with an 11-bit exponent and
           53-bit mantissa, which provides a range of 0.56*10**-308
           to 0.09*10**308 and a precision of 15 decimal digits

        -  128-bit H_floating data type, with a 15-bit exponent and a
           113-bit mantissa, which provides a range of 0.84*10**-4932
           to 0.59*10**4932 and a precision of 33 decimal digits

     o  VARYING data type denoting variable-length character strings
        up to 65,535 characters

     o  Concatenation operator and set of predefined character string
        functions including INDEX, LENGTH, and SUBSTR

     o  Language elements providing sequential and random access to
        VAX RMS relative files and sequential and keyed access to VAX
        RMS multikey indexed files

     o  Optional attributes specification on constants, variables,
        types, type identifiers, routines, routine parameters, schema
        discriminants, and compilation units

     o  MODULE capability for combining procedures, functions, and
        other declarations for compilation separate from the main
        program

     o  ENVIRONMENT and INHERIT attributes to control separate and
        independent compilation

     o  UNSIGNED and SINGLE predefined types

     o  VALUE initialization section and optional value initializa-
        tion in declaration section program level

     o  Exponentiation operator (**)

                                     3

 


     VAX Pascal, Version 4.2                             SPD 25.11.30



     o  OTHERWISE clause for CASE statement

     o  Binary, hexadecimal, and octal constants

     o  External procedure and function declarations

     o  Nonpositional passing of parameters

     o  Default values for parameters

     o  Ability for functions to return structured types (other than
        file types)

     As a native-mode VAX language, VAX Pascal is integrated into the
     VAX Common Language Environment. This integration provides VAX
     Pascal users with:

     o  Support for VAX interlanguage calling standard.

     o  Access to all VMS system services.

     o  Access to the facilities of the VAX Symbolic Debugger.

     o  Callable interfaces to the VAX Common Run-time Library.

     o  Callable interfaces to VAX utilities, for example SORT, and
        to optional products, for example VAX DATATRIEVE.

     o  VAX CDD/Plus Support.

     o  31-character identifiers that can include dollar sign ($) and
        underscore (_).

     o  Support for the VAX Language Sensitive Editor/Source Code An-
        alyzer to provide error diagnostics to VAX Language-Sensitive
        Editor component, cross reference information for Source Code
        Analyzer component, and support for low-level program design,
        including the processing of pseudocode and the extraction of
        design information from comments.

     Options available to VAX Pascal users at compile time include:

     o  Run-time checks for array, character string, and subrange
        bounds

                                     4

 


     VAX Pascal, Version 4.2                             SPD 25.11.30



     o  Run-time checks for arithmetic overflow, valid case selector
        values, and null pointer variables

     o  Run-time checks for invalid declarations and illegal GOTO
        usage

     o  Generation of information for use by the VAX Symbolic Debug-
        ger and the run-time error traceback mechanism

     o  Creation of an environment file facilitating separate compi-
        lation

     o  Cross-reference listing

     o  Creating in the listing file a representation of the object
        code generated by the compiler

     o  Printing of information-level messages, flagging uses VAX
        Pascal extensions to the ISO and ANSI standards

     SOURCE CODE INFORMATION

     The following source code modules are provided on all available
     distribution media for this product:

     KITINSTAL.COM, LIBDEF.PAS, MTHDEF.PAS,
     PASCAL$IVP.PAS, PASCAL.CLD, PASCAL.HLP,
     PASDEF.PAS, PASSTATUS.PAS, SIGDEF.PAS,
     VUE$COMPILE.COM, BACK.PAS,
     DTK_MODULES.DAT, FRONT.PAS,
     LIB_MODULES.DAT, MTH_MODULES.DAT,
     NCS_MODULES.DAT, OTS_MODULES.DAT,
     PASCAL$D_FLOAT.PAS, PASCAL$G_FLOAT.PAS,
     PASCAL$DTK_ROUTINES.PAS,
     PASCAL$LIB_ROUTINES.PAS,
     PASCAL$MTH_ROUTINES.PAS,
     PASCAL$NCS_ROUTINES.PAS,
     PASCAL$OTS_ROUTINES.PAS,
     PASCAL$PPL_ROUTINES.PAS,
     PASCAL$SMG_ROUTINES.PAS,
     PASCAL$SOR_ROUTINES.PAS,

                                     5

 


     VAX Pascal, Version 4.2                             SPD 25.11.30



     PASCAL$STR_ROUTINES.PAS, PASSTR$IVP.PAS,
     PPL_MODULES.DAT, RMSUSR.PAS,
     SDLPASCAL.EXE, SMG_MODULES.DAT,
     SOR_MODULES.DAT, STARLET.PAS,
     STARLET_MODULES.DAT, STR_MODULES.DAT,
     CONSTRUCTOR_1.PAS, FUNCTION_CALLS.PAS,
     HANDLER.PAS, HELLOWORLD.PAS,
     IMPLEMENTATION_MODULE.PAS,
     INITIAL_STATE_1.PAS, INITIAL_STATE_2.PAS,
     INTERFACE_MODULE.PAS, LIB$FIND_FILE.PAS,
     MAIN_PROGRAM.PAS, RFA_READ.PAS,
     SCHEMA_PARAMETERS.PAS, SMG_EXAMPLE.PAS,
     SYS$ASCTIM_AND_GETTIM.PAS,
     SYS$CHECK_ACCESS.PAS, SYS$DCLEXH.PAS,
     SYS$DEVICE_SCAN.PAS, SYS$FAO.PAS,
     SYS$GETDVI.PAS, SYS$GETJPI.PAS,
     SYS$GETQUI.PAS, SYS$GETSYI.PAS,
     SYS$GETUAI.PAS, SYS$PROCESS_SCAN.PAS,
     SYS$PUTMSG.PAS, SYS$SNDJBC.PAS,
     SYS$TRNLNM.PAS, USE_XABDAT.PAS

     The source code modules are provided in order to install and
     describe the product. Modules include sample test program, help
     file, example files, and system definition inclusion files.

     This source code is provided on an "AS IS" basis without any
     warranty of any kind either express or implied.

     HARDWARE REQUIREMENTS

     VAX, MicroVAX, VAXstation, or VAXserver configuration as speci-
     fied in the System Support Addendum (SSA 25.11.30-x).







                                     6

 


     VAX Pascal, Version 4.2                             SPD 25.11.30



     SOFTWARE REQUIREMENTS

     o  VMS Operating System

     VAX Pascal supports a DECwindows compiler interface for com-
     pile qualifier selection on workstations. This interface is
     accessible from FileView.

     Refer to the System Support Addendum (SSA 25.11.30-x) for avail-
     ability and required versions of prerequisite/optional software
     and for information regarding components of VMS DECwindows.

     ORDERING INFORMATION

     Software Licenses: QL-126A*-**
     Software Media: QA-126A*-**
     Software Documentation: QA-126AA-GZ
     Software Product Services: QT-126A*-**

     *  Denotes variant fields. For additional information on avail-
        able licenses, services, and media, refer to the appropriate
        price book.

     SOFTWARE LICENSING

     This software is furnished under the licensing provisions of
     Digital Equipment Corporation's Standard Terms and Conditions.
     For more information about Digital's licensing terms and poli-
     cies, contact your local Digital office.

     LICENSE MANAGEMENT FACILITY SUPPORT

     This layered product supports the VMS License Management Facil-
     ity.

     License units for this product are allocated on a CPU-capacity
     basis.


                                     7

 


     VAX Pascal, Version 4.2                             SPD 25.11.30



     For more information on the License Management Facility, refer
     to the VMS Operating System Software Product Description (SPD
     25.01.xx) or the License Management Facility manual of the VMS
     Operating System documentation set.

     For more information on Digital's licensing terms and policies,
     contact your local Digital office.

     SOFTWARE PRODUCT SERVICES

     A variety of service options are available from Digital. For
     more information, contact your local Digital office.

     SOFTWARE WARRANTY

     Warranty for this software product is provided by Digital with
     the purchase of a license for the product as defined in the
     Software Warranty Addendum of this SPD.

     [TM] The DIGITAL Logo, CDD/Plus, CI, DATATRIEVE, DECwindows, Mi-
          croVAX, RMS, VAX, VAXft, VAX Pascal, VAXcluster, VAXserver,
          VAXstation, and VMS are trademarks of Digital Equipment
          Corporation.
















                                     8
