Software Product Description This Software Product Description describes the following products: o HP BASIC Version 1.6 for OpenVMS Alpha Systems (formerly Compaq BASIC) o HP BASIC Version 3.9 for OpenVMS VAX Systems (formerly Compaq BASIC) o HP BASIC Version 1.6 for OpenVMS Integrity Servers (I64) The short forms "Alpha BASIC", "VAX BASIC", and "I64 BASIC" are fre- quently used to refer to these product names. DESCRIPTION HP BASIC is a shareable language processor for the OpenVMS operating system. It can be invoked as a compiler and the resulting modules can be linked and run with standard OpenVMS commands. HP BASIC provides high performance for application development by generating inline native mode instructions. HP BASIC is also integrated with various programming productivity tools such as the OpenVMS Debugger, the Language Sensitive Editor (LSE), the Source Code Analyzer (SCA) and the Performance and Coverage Analyzer. Alpha BASIC and I64 BASIC include three IEEE floating point data types (SFLOAT, TFLOAT, and XFLOAT) and a QUAD integer data type. FEATURES HP BASIC is integrated into the Common Language Environment. This in- tegration provides HP BASIC users with: o Support for OpenVMS interlanguage calling standard o Access to all OpenVMS system services o Access to the facilities of the OpenVMS Debugger April, 2005 o Callable interfaces to the OpenVMS Run-Time Library o Support for the Language-Sensitive Editor o Structured programming constructs - Line numbers completely optional. - DECLARE statement which removes requirement for (%) and ($) suffixes. - IF...THEN...ELSE...END IF conditional blocks. - SELECT...CASE...END SELECT multi-way decision blocks. - OTHERWISE out-of-range clause for ON GOTO and ON GOSUB statements. - Structured exception handling (WHEN blocks) for main and sub- programs. - Statement modifiers to control the execution of a single statement. - PROGRAM, SUB, and FUNCTION statements to declare program modules. - END and EXIT PROGRAM statements to return a status to DCL. o Modern programming language features - Uses the full printable ASCII character set and 8-bit character codes within constants and I/O operations. - 31 character alphanumeric statement labels. - 31 character variable names, allowing ($), (_) and (.). - RECORD structure for user-defined data types (similar to PASCAL record types), including RECORD structure retrieval from the Common Data Dictionary. - OPTION statement specifing compiler defaults within source modules. 2 o Program segmentation - SUB and FUNCTION subprograms as individually compiled modules. - Ability to pass parameters by value, reference, or descriptor. - Up to 254 actual arguments per call on external modules. - Ability to invoke EXTERNAL function procedures from HP BASIC. - Recursive CALL/function invocation. - Ability to invoke OpenVMS System Service and Run-Time Library routines. - Ability to invoke subprograms and function programs written in other OpenVMS native mode languages. - HP BASIC program modules invoked by other OpenVMS languages. - Ability to pass optional arguments to non-BASIC procedures. - Single and multiple line user-defined functions using DEF. - COMMON and MAP statements for creating static storage areas for communication between program modules. o Graphics - VAX BASIC only - Statements modeled after ANSI BASIC Graphics. - Implemented using GKS for OpenVMS to provide device independence. - Graphic output primitives including points, lines, areas, and text. - Graphic input types including points, menu choice, value selection, and text. - Ability to adjust the range of coordinate values to suit the application. - SET and ASK statements to specify and retrieve graphic attribute values. - Graphic procedures (PICTURE subprograms) for building complex objects. 3 - Ability to apply transformations to PICTURE procedures. o Full access to OpenVMS Record Management Services (RMS) - Sequential I/O - Relative I/O - Multiple key Indexed I/O operations, including support for integer (word, longword and quadword), string, segmented string keys, packed decimal keys, and descending keys - Random access to sequential fixed files - Virtual arrays (arrays mapped onto disk structures) - Record File Address (RFA) access for direct access to records o Extended report formatting capabilities - Suppression of zero fields. - Zero fill, blank fill, or asterisk fill numeric fields. - Commas in large numeric values. - CR (credit) or DR (debit) indicators. - Floating currency symbol for numeric fields. - Currency and decimal symbols changed for foreign usage. - FORMAT$ function accepting full PRINT USING editing syntax. o Implicit or explicit storage declarations - Specification of data types permitted on COMMON, DECLARE, DEF, DIMENSION, EXTERNAL, FUNCTION, MAP, RECORD and SUB statements. - Default data allocation rules specified with DCL qualifiers, HP BASIC commands, or by the OPTION statement in program text. - By default all declarations implicit, however, the OPTION TYPE = EXPLICIT can be used to require explicit declaration of all variables. 4 - Default constant types specified with the OPTION CONSTANT TYPE statement. - INTEGER data type including: * BYTE (8 bit) * WORD (16 bit) * LONG (32 bit) * QUAD (64 bit)-Alpha and I64 BASIC only - REAL data type including: * SINGLE (6 digits)- VAX FFLOAT, I64 BASIC uses SFLOAT for computations * DOUBLE (16 digits)-VAX DFLOAT, Alpha BASIC uses GFLOAT for computations. I64 BASIC uses TFLOAT for computations * GFLOAT (15 digits) * HFLOAT (33 digits)-VAX BASIC only * SFLOAT (6 digits)-an IEEE data type; Alpha and I64 BASIC only * TFLOAT (15 digits)-an IEEE data type; Alpha and I64 BASIC only * XFLOAT (33 digits)-an IEEE data type; Alpha and I64 BASIC only - Packed DECIMAL type supporting up to 31 digits. - STRING data type, allowing both static (in MAP or COMMON state- ments) and dynamic lengths. - Creation of user-defined named constants through DECLARE CONSTANT. - Dynamic record definition and variable allocation via MAP DYNAMIC. o VAX BASIC Environment-VAX BASIC only - RUN command for immediate execution of HP BASIC programs. - EDIT command can invoke a user-selected editor directly. - HELP for online assistance. 5 - SEQUENCE command for generating line numbers. - RESEQUENCE command for renumbering program lines. - Direct execution of HP BASIC statements (immediate mode). - Direct execution of DCL statements. - Optional line-by-line syntax checking. - Dynamic linking (LOAD) of separately compiled HP BASIC modules for use with the RUN command. - User-created libraries searched automatically when using RUN. o Compile-time directives - Text inclusion through %INCLUDE, %INCLUDE %FROM %CDD and %INCLUDE from a text library - Conditional compilation (%IF) - Listing and output control (%NOLIST, %LIST) - Cross-reference output control (%CROSS) - Text replacement (%DEFINE) o EXTERNAL statement allowing access to global variables, functions, and constants, and allowing data typing of parameters to aid in min- imizing run-time mismatches. o Language subsets and subset flaggers for cross system development /migration-VAX BASIC only - Flagger showing feature unavailable on Alpha BASIC - Flagger showing use of old BASIC-PLUS-2 feature o Motif bindings support o Multiple line statements and multiple statement lines o Extensive array handling capabilities - Each array may have up to 32 dimensions. 6 - Each dimension may specify both a lower and upper bound. - Array bounds can be specified at compile time or run time. - Matrix handling statements allow manipulation of matrices, including matrix multiplication. o Compatibility with key RSTS/E BASIC-PLUS and BASIC-PLUS-2 features including: - ON ERROR GOTO exception handling - FIELD Statement - CVT and SWAP% functions - Virtual arrays - Selected nonprivileged SYS calls - Statement modifiers for conditionals and loops o HP BASIC Translator for OpenVMS Alpha only (see SPD 64.76.XX) HARDWARE REQUIREMENTS Processors Supported: Any Alpha system capable of running the OpenVMS Alpha operating system Version 6.2 to 8.2 or any VAX capable of running the OpenVMS operating system V5.5-2 to 7.3. I64 on OpenVMS supports the following Integrity Servers: - HP Integrity server rx2600 (2 sockets) - all speeds - HP Integrity server rx1600 (2 sockets) - all speeds - HP Integrity server rx4640 (4 sockets) - all speeds Note: A socket is a receptacle for microprocessor modules. A single microprocessor module may contain one or more CPUs. 7 Refer to the OpenVMS operating system's Software Product Description (SPD 82.35.xx) for details. Disk Space Requirements (Block Cluster Size = 1): For Integrity Systems: Disk space required for 53,500 blocks (27.4 MB) installation: Disk space required for 45,500 blocks (23.0 MB) installation: For Alpha systems: Disk space required for 32,500 blocks (16.6 MB) installation: Disk space required for 24,500 blocks (12.5 MB) use (permanent): For VAX systems: Disk space required for 13,000 blocks (6.7 MB) installation: Disk space required for 11,000 blocks (5.6 MB) use (permanent): These 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. 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 (SPD 82.35.xx) for the Floating-Point Accelerator or other floating- point hardware appropriate for your configuration. 8 SOFTWARE REQUIREMENTS For Alpha Systems: o OpenVMS Alpha operating system, Version 6.2 to 8.2. IEEE floating point and QUAD support requires Version 7.1 to 8.2. For VAX Systems: o OpenVMS VAX operating system, Version 5.5-2 to 7.3 For I64 Systems: o OpenVMS I64 operating system, Version 8.2 SOFTWARE LICENSING A software license is required in order to use HP BASIC software. For VAX and Alpha platforms, HP BASIC is offered with Concurrent Use, Personal Use and Traditional 'capacity' licenses. For I64, it is offered with Concurrent Use licenses. Version update licenses are not available for the I64 platform. Rights to use future revisions of HP BASIC 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 Software Licensing site at: LICENSE MANAGEMENT FACILITY SUPPORT This layered product supports the OpenVMS License Management Facility. License units for BASIC on OpenVMS Alpha and VAX are allocated on a Capacity Use plus Personal and Concurrent Use basis. For BASIC on OpenVMS I64 are allocated on 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. 9 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. 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 CI, Ethernet, and Mixed Interconnect configurations. OPTIONAL SOFTWARE Refer to the appropriate Software Product Description for details and requirements on the products listed below. o Language-Sensitive Editor component of the Language-Sensitive Editor/Source Code Analyzer o Performance and Coverage Analyzer (PCA) Required to fully use the /ANALYSIS_DATA qualifier: o Source Code Analyzer component of Language-Sensitive Editor/Source Code Analyzer Language-Sensitive Editor/Source Code Analyzer, Performance and Cov- erage Analyzer are available as part of DECset for OpenVMS Systems (SPD 42.29.xx.) To use %INCLUDE %FROM %CDD or the %REPORT %DEPENDENCY directives and the /DEPENDENCY_DATA qualifier: o Oracle CDD/Repository[TM] To use VAX BASIC graphics statements: (VAX BASIC only) 10 o GKS for OpenVMS Version 5.0-Version 6.4 Development or Run-Time License Required to fully use the /DESIGN qualifier: (VAX BASIC only) o Both components of Language-Sensitive Editor/Source Code Analyzer Language-Sensitive Editor/Source Code Analyzer is available as part of DECset for OpenVMS Systems. Refer to DECset For OpenVMS Alpha Systems Sofware Product Description (SPD 42.29.xx) or DECset for OpenVMS VAX Systems Software Product Description (SPD 27.07.xx) 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 HP BASIC for OpenVMS Alpha: HP BASIC for OpenVMS Alpha is available on the OpenVMS Alpha Software Products Layered Library Package (QA-03XAA-H8). The library package includes media and documentation on CD-ROM. A hardcopy documentation set can be ordered separately (QA-0Y7AA-GZ). HP BASIC for OpenVMS VAX: Compaq BASIC for OpenVMS VAX is available on the OpenVMS VAX Software Layered Products Library Package (QA-5G88A-H8). The library package includes media and documentation on CD-ROM. A hardcopy documentation set can be ordered separately (QA-095AA-GZ). HP BASIC OpenVMS I64: HP BASIC 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. 11 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 purchase. ORDERING INFORMATION When purchasing HP BASIC both a license and media must be ordered. The license deliverable provides the LMF PAK required to run the HP BASIC software. The VMS Operating System or Operating Environment (license and media) is a prerequisite to running HP BASIC. HP BASIC for OpenVMS Alpha Systems: Software Licenses: Personal Use: QL-095AA-2B Concurrent Use: QL-095AA-3* Capacity Use: QL-0Y7A*-** Software Media/Documentation: QA-03XAA-H8 Software Documentation (hardcopy): QA-0Y7AA-GZ Compaq BASIC for OpenVMS VAX Systems: Software Licenses: Personal Use: QL-095AA-2B Concurrent Use: QL-095AA-3* Capacity Use: QL-095A*-** Software Documentation (hardcopy): QA-095AA-GZ HP BASIC for OpenVMS I64 ONLY: Software Licenses: Concurrent Use: BA347AC Software Media: Foundation Operating Media, BA322AA or Enterprise Operating Media, BA323AA or Mission Critical Media, BA324AA Software Documentation (Hard Copy): BA347MN 12 An example of a new order for HP BASIC: Concurrent Use License - BA347AC Binaries: Operating Environment Media - BA32*A Hardcopy Documentation Kit (Optional) BA347MN For more information on the Operating Environments, please see the HP Operating Environments for OpenVMS I64 SPD: 82.34.** The "*" denotes variant fields. The ordering information is valid at time of release. Please contact your local HP office for the most up-to-date information. SOFTWARE PRODUCT SERVICES A variety of service options are available from HP. For more infor- mation, contac your local HP account representative or distributor. Information is available on www.hp.com/hps/software. TRADEMARKS Copyright 2005 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP and/or its subsidiaries 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 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 warranty. HP shall not be liable for technical or editorial errors or omissions contained herein. 13 14