Compaq Software Product Description ___________________________________________________________________ PRODUCT NAME: Compaq Pascal Version 5.8 for OpenVMS Alpha Systems SPD25.11.48 Compaq Pascal Version 5.8 for OpenVMS VAX Systems DESCRIPTION Compaq Pascal is an implementation of the Pascal[*] language that accepts 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. Birth ,Pascal User Manual and Report,2nd.ed., Spring- Verlag, New York 1974. December 2000 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 and VAX G_floating on OpenVMS VAX and Open- VMS Alpha and IEEE T_floating on OpenVMS Alpha only) data type that supports the Alpha double range and double precision floating point architectural features 2 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 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 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 (_) 3 o Conditional compilation facility including the %IF directive and the /CONSTANT command line qualifier to provide for compilation of code that has many variants or configurations. o Many compiler directives such as %ARCH_NAME, %SYSTEM_NAME, %COM- PILER_VERSION, %FILE, etc. to allow compile-time information to be inserted into the compiled program. As a native-mode language, Compaq Pascal is integrated into the Common Language Environment. This integration provides Compaq Pascal users with: o Support for OpenVMS interlanguage calling standard 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 values, 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 Debugger and the run-time error traceback mechanism 4 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 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, 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, 5 STARLET.PAS, STARLET_MODULES.DAT, SOR_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 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 6 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 Redistribution 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 PASRTL.EXE and PASMSG.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 product. 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. 7 HARDWARE REQUIREMENTS Processors Supported: Any Alpha system capable of running the OpenVMS Alpha Operating System Version 6.1 to 7.2-1 or any VAX system capable of running the OpenVMS Operating System V5.5 to 7.2. Refer to the OpenVMS Operating System's Software Product Description (SPD 25.01.XX)for details. 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: 8 Compaq Pascal Compiler: Disk space required for 3,500 blocks installation: Disk space required for 3,000 blocks permanent use: 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: 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. 9 SOFTWARE REQUIREMENTS For Alpha Systems: o OpenVMS Alpha Operating System Version 6.1 - Version 7.2-1 For VAX Systems: o OpenVMS VAX Operating System Version 5.5 - Version 7.2 SOFTWARE LICENSING This software is furnished only under a license. For more information about Compaq's licensing terms and policies, contact your local Compaq office. LICENSE MANAGEMENT FACILITY SUPPORT This layered product supports the OpenVMS License Management Facility. License units for this product are allocated on a Capacity Use, Personal 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 individual 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, contact your local Compaq office. 10 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 Description 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 SEA, Ethernet, and Mixed Interconnect configurations. 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.4 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 (MS) for OpenVMS Alpha 11 For VAX Systems: o Oracle CDD/Repository for OpenVMS o DECset Release 12.4 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 Systems - DIGITAL Code Management System (CMS) for OpenVMS Systems - DIGITAL Module Management System (MS) 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 current 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 (A-03XAA-H8). The library package includes media and documentation on CD-ROM. Compaq Pascal OpenVMS VAX ONLY: Compaq Pascal for OpenVMS VAX is available on the OpenVMS VAX Software Layered Products Library Package (A-5G88A-H8). The library package includes media and documentation on CD-ROM. Media and documentation 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*). 12 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*-RE Software Media/Documentation: QA-03XAA-H8 Software Documentation (hardcopy): QA-098AA-GZ Software Product Services: QL-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: QT-126A*-** Software Update Licenses: Personal Use: QL-126AA-4B Concurrent Use: QL-126AA-5* Traditional/Capacity Use: QT-126A*-RE Software Media/Documentation: QA-126AA-H* Software Media/Documentation: QA-5G88A-H8 Software Documentation (hardcopy): QA-126AA-GZ Software Product Services: QT-126A*-** 13 * 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 Copyright 2000 Compaq Computer Corporation. COMPAQ, the Compaq logo, and SmartStart Registered in the U.S. Patent and Trademark Office. Oracle is a registered trademark and Oracle CDD/Repository and Oracle CDD/Administrator are trademarks of Oracle Corporation. All other product names mentioned herein may be trademarks of their respective companies. Confidential computer software. Valid license from Compaq required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Compaq shall not be liable for technical or editorial errors or omissions contained herein. The information in this document is subject to change without notice. The warranties for Compaq products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty. THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. ANY RISK ARISING OUT OF THE USE OF THIS INFORMATION REMAINS WITH THE RECIPIENT. IN NO EVENT SHALL COMPAQ BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL, OR OTHER DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION, DAMAGES FOR BUSINESS INTERRUPTION OR LOSS OF BUSINESS 14 INFORMATION OR PROFITS), EVEN IF COMPAQ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND WHETHER IN AN ACTION OF CONTRACT OR TORT, INCLUDING NEGLIGENCE. 15