Compaq Software Product Description ___________________________________________________________________ PRODUCT NAME: Compaq Pascal Version 5.7 for OpenVMS Alpha Systems SPD 25.11.46 Compaq Pascal Version 5.7 for OpenVMS VAX Systems DESCRIPTION Compaq Pascal is an implementation of the Pascal[*] language that ac- cepts programs compatible with either level of the ISO specification for Programming languages - Pascal ([ISO 7185-1987]) as well as (ANSI /IEEE 770X3.97-1987). Compaq Pascal also meets the Federal Informa- tion Processing Standard Publication ((FIPS-109)) requirements by ac- cepting programs conforming to the ANSI standard. Compaq 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 unextended Pascal standard and for conforming to FIPS-109. Containing extensions to the standards, Compaq Pascal generates optimized, shareable code that takes full advantage of the VAX and Alpha hardware floating point and character instruction sets and the virtual memory capabilities of the OpenVMS VAX or OpenVMS Alpha Operating Systems. The language con- tains control statements, data types, and predeclared procedures 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. June 1999 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 User-defined procedures and functions that can return structured types (other than file types) o GET, PUT, READ, WRITE, READLN, and WRITELN input and output pro- cedures o Concatenation operator and set of predefined character string func- tions including INDEX, LENGTH, and SUBSTR o Standard set of functions, procedures, and operators o Module initialization and finalization 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 (**) Pascal Extensions: o DOUBLE (VAX D_floating, VAX G_floating, IEEE T_floating) data type that supports the Alpha double range and double precision float- ing point architectureal features o QUADRUPLE (VAX H_floating on OpenVMS VAX and IEEE X_floating on Open- VMS Alpha) data type that supports the Alpha extended range and ex- tended precision floating point architectural features 2 o Support for null-terminated strings via the C_STR_T predefined type and the MALLOC_C_STR, C_STR, PAS_STRCPY, and PAS_STR predefined func- tions (OpenVMS Alpha only) o VARYING data type denoting variable-length character strings up to 65,535 characters o Language elements providing sequential and random access to RMS rel- ative files, and sequential and keyed access to RMS multikey in- dexed files o Optional attributes specification on constants, variables, types, type identifiers, routines, routine parameters, schema discrimi- nants, 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 inde- pendent compilation o UNSIGNED, CARDINAL, INTEGER_ADDRESS, INTEGERnn, UNSIGNEDnn, POINTER, and SINGLE predefined types o VALUE initialization section and optional value initialization in declaration section program level o External procedure and function declarations o Nonpositional passing of parameters o RETURN, BREAK, CONTINUE, EXIT, and NEXT statements o Default values for parameters o Double-quoted character strings with backslash constants o 31-character identifiers that can include dollar sign ($) and un- derscore (_) As a native-mode language, Compaq Pascal is integrated into the Com- mon Language Environment. This integration provides Compaq Pascal users with: o Support for OpenVMS interlanguage calling standard 3 o Access to all OpenVMS system services o Access to the facilities of the OpenVMS Symbolic Debugger o Callable interfaces to the OpenVMS Common Run-time Library o Oracle CDD/Repository support o Support for the Language-Sensitive Editor/Source Code Analyzer to provide error diagnostics to Language-Sensitive Editor component, cross reference information for Source Code Analyzer component, and support for low-level program design, including the processing of pseudocode. In addition, Compaq Pascal for OpenVMS VAX Systems also supports the extraction of design information from comments. o Ability for functions to return structured types (other than file types) Options available to Pascal users at compile time include: o Run-time checks for array, character string, and subrange bounds o Run-time checks for arithmetic overflow, valid case selector val- ues, and null pointer variables o Run-time checks for invalid declarations and illegal GOTO usage o Generation of information for use by the OpenVMS Symbolic Debug- ger and the run-time error traceback mechanism o Creation of an environment file facilitating separate compilation 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 including flagging uses of extensions to the ISO and ANSI Pascal standards 4 SOURCE CODE INFORMATION The following source code modules are provided on all available dis- tribution 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$CMA ROUTINES.PAS, PASCAL$CVT ROUTINES.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, 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, 5 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 PASCAL$ACLEDIT_ROUTINES.PAS PASCAL$CLI_ROUTINES.PAS PASCAL$CONV_ROUTINES.PAS PASCAL$DCX_ROUTINES.PAS PASCAL$EDT_ROUTINES.PAS PASCAL$FDL_ROUTINES.PAS PASCAL$LBR_ROUTINES.PAS PASCAL$MAIL_ROUTINES.PAS PASCAL$PSM_ROUTINES.PAS PASCAL$SMB_ROUTINES.PAS PASCAL$TPU_ROUTINES.PAS PASCAL$SHOW_VERSIONS.COM PASCAL$SET_VERSION.COM PASCAL$DEFAULT_VERSION.COM 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. Run-Time Library Redistribu- tion 6 The Compaq Pascal kit may include updated Pascal Run-Time Library share- able images. Compaq grants the user a nonexclusive royalty-free world- wide right to reproduce and distribute the executable version of the Run-Time Library designated as PASRTL.EXE and PASMSG.EXE (VAX) or PAS$RTL.EXE and PAS$MSG.EXE (Alpha) (the "RTLs") provided that the user: o Distributes the RTLs only in conjunction with and as a part of the user's software application product which is designed to operate in the OpenVMS environment; o Does not use Compaq's name, logo, or trademarks to market the user's software application product; o Includes Compaq's copyright notice for Compaq Pascal on the user's product disk label and/or on the title page of the documentation for software application product; o Agrees to indemnify, hold harmless, and defend Compaq from and against any claims or lawsuits, including attorney's fees, that arise or result from the use or distribution of the software application prod- uct. Except as expressly provided herein, Compaq grants no implied or express license under any of its patents, copyrights, trade se- crets, trademarks or any license or other proprietary interests and rights. HARDWARE REQUIREMENTS Processors Supported: Any Alpha system capable of running the OpenVMS Alpha Operating System Version 6.1 to 7.2 or any VAX system capable of running the OpenVMS Operating System V5.5 to 7.2. Refer to the Open- VMS Operating System's Software Product Description (SPD 25.01.xx) for details. 7 Disk Space Requirements (Block Cluster Size = 1) For Compaq Pascal for OpenVMS Alpha Systems: Compaq Pascal Compiler: Disk space required for 17,000 blocks installation: (8.5 MB) Disk space required for 16,500 blocks permanent use: (8.25 MB) Starlet Library Files: Disk space required for 11,500 blocks installation: Disk space required for 10,000 blocks permanent use: Compaq Pascal Example Files: Disk space required for 150 blocks installation: Disk space required for 150 blocks permanent use: For Compaq Pascal for OpenVMS VAX Systems: Compaq Pascal Compiler: Disk space required for 3,500 blocks installation: Disk space required for 3,000 blocks permanent use: Starlet Library Files: 8 Disk space required for 11,500 blocks installation: Disk space required for 10,000 blocks permanent use: Compaq Pascal Example Files: Disk space required for 150 blocks installation: Disk space required for 150 blocks permanent use: These block counts refer to the disk space required on the system disk. The sizes are approximate; actual sizes may vary depending on the user's system environment, configuration, and software options selected. OPTIONAL HARDWARE Floating point intensive applications should be run on configurations with the appropriate hardware support for the floating point data types being used. Consult the Base Operating System Software Product Descrip- tion for the Floating Point Accelerator or other floating point hard- ware appropriate for your configuration. SOFTWARE REQUIREMENTS For Alpha Systems: o OpenVMS Alpha Operating System Version 6.1 - Version 7.2 For VAX Systems: o OpenVMS VAX Operating System Version 5.5 - Version 7.2 9 SOFTWARE LICENSING This software is furnished only under a license. For more information about Compaq's licensing terms and policies, contact your local Com- paq office. LICENSE MANAGEMENT FACILITY SUPPORT This layered product supports the OpenVMS License Management Facil- ity. License units for this product are allocated on a Capacity Use, Per- sonal Use and Concurrent Use basis. Each Personal Use license allows one identified individual to use the layered product. Each Concurrent Use license allows any one individ- ual at a time to use the layered product. For more information on the License Management Facility, refer to the OpenVMS Operating System Software Product Description or the License Management Facility manual of the OpenVMS Operating System documen- tation set. For more information about Compaq's licensing terms and policies, con- tact your local Compaq office. CLUSTER ENVIRONMENT This layered product is fully supported when installed on any valid and licensed OpenVMS Cluster* configuration without restrictions. The HARDWARE REQUIREMENTS section of this product's Software Product De- scription detail any special hardware required by this product. * OpenVMS Cluster configurations are fully described in the OpenVMS Cluster Software Product Description (29.78.xx) and include CI, Eth- ernet, and Mixed Interconnect configurations. 10 OPENVMS TAILORING CLASSES The following OpenVMS classes are required for full functionality of this layered product: o OpenVMS Required Saveset o Programming Support o Utilities OPTIONAL SOFTWARE For Alpha Systems: o Oracle CDD/Repository for OpenVMS o DECset Release 12.3 for OpenVMS Alpha, which includes: - DIGITAL Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for OpenVMS Alpha - DIGITAL Test Manager (DTM) for OpenVMS Alpha - DIGITAL Performance and Coverage Analyzer (PCA) for OpenVMS Alpha - DIGITAL Code Management System (CMS) for OpenVMS Alpha - DIGITAL Module Management System (MMS) for OpenVMS Alpha For VAX Systems: o Oracle CDD/Repository for OpenVMS o DECset Release 12.3 for OpenVMS VAX Systems which includes: - DIGITAL Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for OpenVMS Systems - DIGITAL Test Manager (DTM) for OpenVMS Systems - DIGITAL Performance and Coverage Analyzer (PCA) for OpenVMS Sys- tems - DIGITAL Code Management System (CMS) for OpenVMS Systems 11 - DIGITAL Module Management System (MMS) for OpenVMS Systems GROWTH CONSIDERATIONS The minimum hardware and software requirements for any future version of this product may be different from the requirements for the cur- rent version. DISTRIBUTION MEDIA Compaq Pascal OpenVMS Alpha ONLY: Compaq Pascal for OpenVMS Alpha is available on the OpenVMS Alpha Soft- ware Layered Products Library Package (QA-03XAA-H8). The library pack- age includes media and documentation on CD-ROM. Compaq Pascal OpenVMS VAX ONLY: Compaq Pascal for OpenVMS VAX is available on the OpenVMS VAX Soft- ware Layered Products Library Package (QA-5G88A-H8). The library pack- age includes media and documentation on CD-ROM. Media and documenta- tion kits containing only the Compaq Pascal for OpenVMS VAX product are available separately. The kits contain media on Magtape (9-track 1600 BPI) or TK50 Streaming Tape with hardcopy documentation (QA-126AA- H*). YEAR 2000 READY This product is Year 2000 Ready. Year 2000 Ready is defined: "Year 2000 Ready" products are defined by Compaq as products capable of accurately processing, providing, and /or receiving date data from, into and between the twentieth and the twenty -first centuries, and the years 1999 and 2000, including leap year calculations, when used in accordance with the associated Com- paq product documentation and provided that all hardware, firmware and software used in combination with such Compaq products properly ex- change accurate date data with Compaq products. 12 For additional information visit Compaq's DIGITAL Products Year 2000 Ready web site located at http://www.compaq.com/year2000/warranties3.html SOFTWARE WARRANTY This software is provided by Compaq with a 90 day conformance warranty in accordance with the Compaq warranty terms applicable to the license purchase. ORDERING INFORMATION For Compaq Pascal for OpenVMS Alpha Systems: Software Licenses: Personal Use: QL-126AA-2B Concurrent Use: QL-126AA-3* Traditional/Capacity Use: QL-098A*-** Software Update Licenses: Personal Use: QL-126AA-4B Concurrent Use: QL-126AA-5* Traditional/Capacity Use: QL-098A*-RA Software Media/Documentation: QA-03XAA-H8 Software Documentation (hardcopy): QA-098AA-GZ Software Product Services: QT-098A*-**, QT-126A*-** For Compaq Pascal for OpenVMS VAX Systems: Software Licenses: Personal Use: QL-126AA-2B Concurrent Use: QL-126AA-3* Traditional/Capacity Use: QL-126A*-** Software Update Licenses: Personal Use: QL-126AA-4B Concurrent Use: QL-126AA-5* Traditional/Capacity Use: QL-126A*-RA 13 Software Media/Documentation: QA-126AA-H* Software Media/Documentation: QA-5G88A-H8 Software Documentation (hardcopy): QA-126AA-GZ Software Product Services: QT-126A*-** * The "*" denotes variant fields. The ordering information is valid at the time of release. Please con- tact your local Compaq office for the most up to date information. SOFTWARE PRODUCT SERVICES A variety of service options are available from Compaq. For more in- formation, contact your local Compaq office. TRADEMARK INFORMATION [TM] Compaq, the Compaq logo, the Digital logo, DIGITAL, Alpha, DEC, DEC Pascal, DECset, DECwindows, OpenVMS, VAX RMS, VAX and VMS are registered in the U.S. Patent and Trademark of- fice. [TM] Oracle is a registered trademark and Oracle CDD/Repository and Oracle CDD/Administrator are trademarks of Oracle Corpo- ration. Other product names mentioned herein may be the trademarks of their respective companies. ©Copyright 1999 Digital Equipment Corporation. 14