Software Product Description ___________________________________________________________________ PRODUCT NAME: HP Pascal for OpenVMS SPD 25.11.54 DESCRIPTION This document addresses HP Pascal Version 6.0 for OpenVMS Alpha, HP Pascal Version 5.8 for OpenVMS VAX, and HP Pascal Version 6.0 for Open- VMS Integrity Servers (I64). HP Pascal is an implementation of the Pascal[*] language that accepts programs compatible with either level of the ISO specification for Pro- gramming languages - Pascal ([ISO 7185-1987]) as well as (ANSI/IEEE 770X3.97-1987). HP Pascal also meets the Federal Information Process- ing Standard Publication ((FIPS-109)) requirements by accepting pro- grams conforming to the ANSI standard. HP Pascal also accepts many fea- tures 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, HP Pascal generates optimized, shareable code that takes full advantage of the VAX, Alpha and Itanium hardware floating point and character instruction sets and the virtual memory capabil- ities of the OpenVMS VAX, Alpha and I64 Operating Systems. The lan- guage contains control statements, data types, and predeclared pro- cedures 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 ____________________ K.Jensen and N. Birth ,Pascal User Manual and Report,2nd.ed., Spring- Verlag, New York 1974. May 2006 o Schemata type denoting families of types 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, OpenVMS Alpha, and OpenVMS I64 and IEEE T_floating on OpenVMS Alpha and I64) data type that supports the Alpha double range and double preci- sion floating point architectural features 2 o QUADRUPLE (VAX H_floating on OpenVMS VAX and IEEE X_floating on Open- VMS Alpha and I64) data type that supports the Alpha extended range and extended 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 SELECT, SELECTONE statements (OpenVMS Alpha and OpenVMS I64 sys- tems only) o Default values for parameters o Double-quoted character strings with backslash constants 3 o 31-character identifiers that can include dollar sign ($) and un- derscore (_) 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. o Compiler directives such as %F_FLOAT, %S_FLOAT, etc. to allow fine grained control of floating literal formats (OpenVMS Alpha and Open- VMS I64 systems only) As a native-mode language, HP Pascal is integrated into the Common Lan- guage Environment. This integration provides HP 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, HP Pascal for OpenVMS VAX Systems also sup- ports 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 4 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 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, 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, 5 RMSUSR.PAS, SDLPASCAL.EXE, SMG_MODULES.DAT, SOR_MODULES.DAT, 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 6 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 Redistribution The HP Pascal kit may include updated Pascal Run-Time Library share- able images. HP grants the user a nonexclusive royalty-free worldwide 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 and I64) (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 HP's name, logo, or trademarks to market the user's software application product; o Includes HP's copyright notice for HP Pascal on the user's prod- uct disk label and/or on the title page of the documentation for software application product; o Agrees to indemnify, hold harmless, and defend HP 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, HP grants no implied or express license under any of its patents, copyrights, trade secrets, 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 8.2 or any VAX system capable of running the OpenVMS Operating System V5.5 to 7.3. Any OpenVMS In- tegrity Server capable of running the OpenVMS Integrity Operating Sys- tem Version 8.2 or 8.2-1. Refer to the OpenVMS Operating System's Software Product Description (SPD 82.35.XX) for details. Disk Space Requirements (Block Cluster Size = 1) For HP Pascal for OpenVMS Alpha Systems: HP Pascal Compiler: Disk space required for 25,000 blocks installation: (12.5 MB) Disk space required for 21,000 blocks permanent use: (10.5 MB) Starlet Library Files: Disk space required for 15,000 blocks installation: Disk space required for 15,000 blocks permanent use: HP Pascal Example Files: Disk space required for 150 blocks installation: 8 Disk space required for 150 blocks permanent use: For HP Pascal for OpenVMS I64 Systems: HP Pascal Compiler: Disk space required for 45,000 blocks installation: (22.5 MB) Disk space required for 45,000 blocks permanent use: (22.5 MB) Starlet Library Files: Disk space required for 15,000 blocks installation: Disk space required for 15,000 blocks permanent use: HP Pascal Example Files: Disk space required for 150 blocks installation: Disk space required for 150 blocks permanent use: For HP Pascal for OpenVMS VAX Systems: HP Pascal Compiler: Disk space required for 3,500 blocks installation: 9 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: HP 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 8.2 For VAX Systems: o OpenVMS VAX Operating System Version 5.5 - Version 7.3 10 For I64 Systems: o OpenVMS I64 Operating System Version, 8.2 or 8.2-1 SOFTWARE LICENSING A software license is required in order to use HP Pascal software. For VAX and Alpha platforms, HP Pascal is offered with Concurrent Use, Per- sonal Use and Traditional 'capacity' licenses. For I64, it is offered with Concurrent Use licenses. Version update licenses are not avail- able for the I64 platform. Rights to use future revisions of HP Pas- cal are available only through a Support Agreement or through a new license purchase. For more information about OpenVMS license terms and policies, contact your local HP sales office, or reference the Soft- ware Licensing site at: 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 HP's licensing terms and policies, contact your local HP office. 11 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 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 and I64 Systems: o Oracle CDD/Repository for OpenVMS o HP DECset Release 12.7 for OpenVMS includes: - HP Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for Open- VMS Alpha - HP Digital Test Manager (DTM) for OpenVMS Alpha - HP Performance and Coverage Analyzer (PCA) for OpenVMS Alpha - HP Code Management System (CMS) for OpenVMS Alpha - HP Module Management System (MMS) for OpenVMS Alpha 12 For VAX Systems: o Oracle CDD/Repository for OpenVMS o HP DECset Release 12.7 for OpenVMS VAX Systems which includes: - HP Language-Sensitive Editor/Source Code Analyzer (LSE/SCA) for Open- VMS Systems - HP DIGITAL Test Manager (DTM) for OpenVMS Systems - HP Performance and Coverage Analyzer (PCA) for OpenVMS Systems - HP Code Management System (CMS) for OpenVMS Systems - HP 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 HP Pascal OpenVMS Alpha ONLY: HP 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. HP Pascal OpenVMS VAX ONLY: HP Pascal for OpenVMS VAX is available on the OpenVMS VAX Software Lay- ered Products Library Package (QA-5G88A-H8). The library package in- cludes media and documentation on CD-ROM. HP Pascal OpenVMS I64 ONLY: 13 HP Pascal for OpenVMS I64 is available on the Layered Products media within the Operating Environment package. The Layered Products media includes the product binaries and on-line documentation. An optional hardcopy documentation kit is also offered. SOFTWARE WARRANTY This software is provided by HP with a 90 day conformance warranty in accordance with the HP warranty terms applicable to the license pur- chase. ORDERING INFORMATION When purchasing HP Pascal both a license and media must be ordered. The license deliverable provides the LMF PAK required to run the HP Pascal software. The VMS Operating System or Operating Environment (li- cense and media) is a prerequisite to running HP Pascal. For HP 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 14 For HP Pascal for OpenVMS VAX Systems: Software Licenses: Personal Use: QL-126AA-2B Concurrent Use: QL-126AA-3* Software Update Licenses: Personal Use: QL-126AA-4B Concurrent Use: QL-126AA-5* Software Media/Documentation: QA-5G88A-H8 Software Documentation (hardcopy): QA-126AA-GZ HP Pascal for OpenVMS I64 Systems: Software Licenses: Concurrent Use: BA379AC Software Media: Foundation Operating Media, BA322AA or Enterprise Operating Media, BA323AA or Mission Critical Media, BA324AA Software Documentation (Hard Copy): BA379MN An example of a new order for HP Pascal: Concurrent Use License - BA379AC Binaries: Operating Environment Media - BA32*A Hardcopy Documentation Kit (Optional) BA379MN * The "*" denotes variant fields. The ordering information is valid at the time of release. Please con- tact your local HP office for the most up to date information. 15 SOFTWARE PRODUCT SERVICES A variety of service options are available from HP. For more infor- mation, contact your local HP account representative or distributor. Information is also available on www.hp.com/hps/software. TRADEMARK INFORMATION © 2006 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP and/or its sub- sidiaries required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Soft- ware Documentation, and Technical Data for Commercial use. The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing here in should be construed as constituting an additional war- ranty. HP shall not be liable for technical or editorial errors or omis- sions contained herein. 16 17