COMPAQ Software Product Description ___________________________________________________________________ PRODUCT NAME: Compaq BASIC Version 1.4 for OpenVMS Alpha SPD SPD 25.36.32 Compaq BASIC Version 3.9 for OpenVMS VAX This Software Product Description describes the following two prod- ucts: o Compaq BASIC Version 1.4 for OpenVMS Alpha Systems (formerly DEC BASIC) o Compaq BASIC Version 3.9 for OpenVMS VAX Systems (formerly VAX BASIC) The short forms "Alpha BASIC" and "VAX BASIC" are frequently used to refer to these two product names. DESCRIPTION Compaq BASIC is a shareable language processor for the OpenVMS oper- ating system. It can be invoked as a compiler and the resulting mod- ules can be linked and run with standard OpenVMS commands. Compaq BA- SIC provides high performance for application development by gener- ating inline native mode instructions. Compaq BASIC is also integrated with various programming productivity tools such as the OpenVMS De- bugger, the Language-Sensitive Editor (LSE), the Source Code Analyzer (SCA) and the Performance and Coverage Analyzer. Alpha BASIC includes three IEEE floating point data types (SFLOAT, TFLOAT, and XFLOAT) and a QUAD integer data type. November 2000 FEATURES Compaq BASIC is integrated into the Common Language Environment. This integration provides Compaq 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 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 ($) suf- fixes. - 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 state- ments. - structured exception handling (WHEN blocks) for main and sub- programs. - statement modifiers to control the execution of a single state- ment. - PROGRAM, SUB, and FUNCTION statements to declare program mod- ules. - END and EXIT PROGRAM statements to return a status to DCL. o modern programming language features - 31 character alphanumeric statement labels. - 31 character variable names, allowing ($), (_) and (.). 2 - RECORD structure for user-defined data types (similar to PAS- CAL record types), including RECORD structure retrieval from the Common Data Dictionary. - OPTION statement specifing compiler defaults within source mod- ules. 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 Compaq BA- SIC. - recursive CALL/function invocation. - ability to invoke OpenVMS System Service and Run-Time Library routines. - subprograms and function programs written in other OpenVMS na- tive mode languages invoked from VAX BASIC. - Compaq 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 selec- tion, and text. 3 - ability to adjust the range of coordinate values to suit the ap- plication. - SET and ASK statements to specify and retrieve graphic attribute values. - graphic procedures (PICTURE subprograms) for building complex objects. - 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 in- teger (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. 4 - default data allocation rules specified with DCL qualifiers, Com- paq 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. - 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 BASIC only - REAL data type including: * SINGLE (6 digits) * DOUBLE (16 digits)-Alpha BASIC uses 15 digits operationally and stores 16 digits * GFLOAT (15 digits) * HFLOAT (33 digits)-VAX BASIC only * SFLOAT (6 digits)-an IEEE data type; Alpha BASIC only * TFLOAT (15 digits)-an IEEE data type; Alpha BASIC only * XFLOAT (33 digits)-an IEEE data type; Alpha 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 CON- STANT. - dynamic record definition and variable allocation via MAP DY- NAMIC. o VAX BASIC Environment-VAX BASIC only - RUN command for immediate execution of Compaq BASIC programs. - EDIT command can invoke a user-selected editor directly. 5 - HELP for online assistance. - SEQUENCE command for generating line numbers. - RESEQUENCE command for renumbering program lines. - direct execution of Compaq BASIC statements (immediate mode). - direct execution of DCL statements. - optional line-by-line syntax checking. - Dynamic linking (LOAD) of separately compiled Compaq BASIC mod- ules 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 %IN- CLUDE 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 Year 2000 support with the DATE4$ function o multiple line statements and multiple statement Lines 6 o Extensive array handling capabilities - Each array may have up to 32 dimensions. - 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, in- cluding 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 Compaq BASIC uses the full printable ASCII character set and 8-bit char- acter codes within constants and I/O operations. HARDWARE REQUIREMENTS Processors Supported: Any Alpha system capable of running the OpenVMS Alpha operating sys- tem Version 6.2 to 7.2-1 or any VAX capable of running the OpenVMS op- erating system V5.5-2 to 7.2-1. Refer to the OpenVMS operating sys- tem's Software Product Description (SPD 25.01.xx) for details. Disk Space Requirements (Block Cluster Size = 1): 7 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 25.01.xx) for the Floating-Point Accelerator or other floating- point hardware appropriate for your configuration. SOFTWARE REQUIREMENTS For Alpha Systems: o OpenVMS Alpha operating system, Version 6.1 to 7.2-1. IEEE float- ing point and QUAD support requires Version 7.1 to 7.2-1. For VAX Systems: o OpenVMS VAX operating system, Version 5.5-2 to 7.2-1 8 SOFTWARE LICENSING This software is only furnished 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 plus Personal 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. CLUSTER ENVIRONMENT This layered product is fully supported when installed on any valid and licensed OpenVMS VMScluster* configuration without restrictions. The HARDWARE REQUIREMENTS section of this product's Software Product Description detail any special hardware required by this product. Open- VMS VMScluster configurations are fully described in the OpenVMS Clus- ter Software Product Description (29.78.xx) and include CI, Ethernet, and Mixed Interconnect configurations. 9 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 Ed- itor/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) o GKS for OpenVMS Version 5.0-Version 6.4 Development or Run-Time Li- cense 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 Sys- tems Sofware Product Description (SPD 42.29.xx) or DECset for Open- VMS VAX Systems Software Product Description (SPD 27.07.xx) 10 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 BASIC for OpenVMS Alpha: Compaq BASIC for OpenVMS Alpha is available on the OpenVMS Alpha Soft- ware Products Layered Library Package (QA-03XAA-H8). The library pack- age includes media and documentation on CD-ROM. A hardcopy documen- tation set can be ordered separately (QA-0Y7AA-GZ). Compaq 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. Media/documentation kits containing only the VAX BASIC for OpenVMS VAX product are available separately. The kits contain media on Magtape (9-track 1600 BPI) or TK50 Streaming Tape with hardcopy documentation. A hardcopy documen- tation set can be ordered separately (QA-095AA-GZ). 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. 11 ORDERING INFORMATION Compaq 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 Software Product Services: QT-0Y7A*-** Compaq BASIC for OpenVMS VAX Systems: Software Licenses: Personal Use: QL-095AA-2B Concurrent Use: QL-095AA-3* Capacity Use: QL-095A*-** Software Media: QA-095A*-** Software Documentation (hardcopy): QA-095AA-GZ Software Product Services: QT-095A*-** The "*" denotes variant fields. The ordering information is valid at time of release. Please contact 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. 12 TRADEMARKS ©2000 Compaq Computer Corporation. COMPAQ, and the Compaq logo Registered in the U.S. Patent and Trade- mark Office. Oracle is a registered trademark, and Oracle CDD/Repository is a trademark of Oracle Corporation. BASIC is a trademark of the Trustees of Dartmouth College, D.B.A. Dartmouth College. 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, Com- mercial Computer Software, Computer Software Documentation, and Tech- nical 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 omis- sions 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 prod- ucts. Nothing herein should be construed as constituting an additional warranty. THE INFORMATION IN THIS PUBLICATION IS PROVIDED "AS IS" WITHOUT WAR- RANTY OF ANY KIND. ANY RISK ARISING OUT OF THE USE OF THIS INFORMA- TION 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 INFORMATION OR PROFITS), EVEN IF COMPAQ HAS BEEN AD- VISED OF THE POSSIBILITY OF SUCH DAMAGES AND WHETHER IN AN ACTION OF CONTRACT OR TORT, INCLUDING NEGLIGENCE. 13