DIGITAL Software Product Description ___________________________________________________________________ PRODUCT NAME: DEC BASIC for OpenVMS SPD 25.36.29 This Software Product Description describes the following two products: o DEC BASIC Version 1.3 for OpenVMS Alpha Systems o VAX BASIC Version 3.8 for OpenVMS VAX Systems DESCRIPTION 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 using standard OpenVMS commands. BASIC provides high-performance for application development by generating inline native mode instructions. BASIC is also integrated with various programming productivity tools such as the OpenVMS Symbolic Debugger, DEC Language-Sensitive Editor (LSE), DEC Source Code Analyzer (SCA) and the Performance and Coverage Analyzer. BASIC is integrated into the Common Language Environment. This integration provides 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 Symbolic Debugger o callable interfaces to the OpenVMS Common Run-Time Library o support for the Language-Sensitive Editor May 1998 o Structured Programming Constructs - line numbers completely optional. - DECLARE statement 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 subprograms. - 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 - 31 character alphanumeric statement labels. - 31 character variable names, allowing ($), (_) and (.). - explicit declarations provide access to many common data types. - RECORD structure for user-defined data types (similar to PASCAL record types), including RECORD structure retrieval from the Common Data Dictionary. - OPTION statement specifies compiler defaults within source modules. 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 BASIC. 2 - 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 can be invoked from VAX BASIC. - BASIC program modules can be 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 DEC GKS for OpenVMS to provide device inde- pendence. - graphic output primitives include points, lines, areas, and text. - graphic input types include points, menu choice, value selection, and text. - 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 (OpenVMS RMS) - Sequential I/O - Relative I/O 3 - 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 can be changed for foreign usage. - FORMAT$ function accepts 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 can be specified with DCL qual- ifiers, BASIC commands, or by the OPTION statement in program text. - by default all declarations are implicit, however, the OPTION TYPE = EXPLICIT can be used to require explicit declaration of all variables. - default constant types can be specified with the OPTION CONSTANT TYPE statement. - Integer data type allows: * BYTE (8 bit) 4 * WORD (16 bit) * LONG (32 bit) - Real data type allows: * SINGLE (6 digits) * DOUBLE (16 digits) -DEC BASIC uses 15 digits operationally and stores 16 digits * GFLOAT (15 digits) * HFLOAT (33 digits) - VAX BASIC Only - packed DECIMAL type supports up to 31 digits. - STRING data type, allowing both static (in MAP or COMMON statements) and dynamic lengths. - creation of user-defined named constants through DECLARE CONSTANT. - dynamic record definition and variable allocation via MAP DYNAMIC. o BASIC Programming Support Environment - VAX BASIC only - RUN command for immediate execution of BASIC programs. - EDIT command can invoke a user-selected editor directly. - HELP for online assistance. - SEQUENCE command for generating line numbers. - RESEQUENCE command for renumbering program lines. - direct execution of BASIC statements (immediate mode). - direct execution of DEC Command Language (DCL) statements. - optional Line-by-Line syntax checking. - Dynamic linking (LOAD) of separately compiled BASIC modules for use with the RUN command. 5 - user-created libraries can be 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 - Allows access to global variables, functions, and constants, and allows data typing of parameters to aid in min- imizing run-time mismatches. o Language Subsets and Subset Flaggers - VAX BASIC only - DEC BASIC for OpenVMS Alpha Systems subset flagger for cross- system development/migration - BASIC-PLUS-2 Subset Flagger for cross-system development/migration o Motif bindings Support o Year 2000 support with the DATE4$ function o Multiple line Statements and Multiple statement Lines 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. 6 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 BASIC uses the full printable ASCII character set and 8-bit character codes within constants and I/O operations. HARDWARE REQUIREMENTS Processors Supported: AlphaServer 300 Products AlphaServer 400 Products AlphaServer 1000 Products AlphaServer 1000A Products AlphaServer 2000 Products AlphaServer 2100 Products AlphaServer 2100A Products AlphaServer 2100A LP Products AlphaServer 4000 Products AlphaServer 4100 Products AlphaServer 8200 Products AlphaServer 8400 Products Digital 2100 Server Products Digital AlphaStation 200 Products AlphaStation 250 Products 7 AlphaStation 255 Products AlphaStation 400 Products AlphaStation 500 Products AlphaStation 600 Products DEC 3000 Model 300, 300L, 300LX, 300X DEC 3000 Models 400, 400S DEC 3000 Models 500, 500S, 500X DEC 3000 Models 600, 600S DEC 3000 Models 700, 700LX DEC 3000 Models 800, 800S DEC 3000 Models 900, 900LX DEC 4000 Model 600 DEC 4000 Model 700 DEC 7000 Model 600 DEC 10000 Model 600 VAX Processors Supported: VAXft: VAXft 3000 Processors VAX: VAX 4000 Model 50 VAX 4000 Model 100, 100A, 105A, 106A, 108 VAX 4000 Model 200 VAX 4000 Model 300 VAX 4000 Model 500, 500A, 505A VAX 4000 Model 600, 600A VAX 4000 Model 700A, 705A VAX 6000 Series Model 210, 220, 230, 240 VAX 6000 Series Model 310, 320, 330, 340, 360 VAX 6000 Series Model 410, 420, 430, 440, 450, 460 8 VAX 6000 Series Model 510, 520, 530, 540, 550, 560 VAX 6000 Series Model 610, 620, 630, 640, 650, 660 VAX 7000 Model 610, 620, 630, 640, 650, 660 VAX 7000 Model 710, 720, 730, 740, 750, 760 VAX 7000 Model 810, 820, 830, 840, 850, 860 VAX 8200, VAX 8250 VAX 8300, VAX 8350 VAX 8530, VAX 8550 VAX 8600, VAX 8650 VAX 8700 VAX 8800, VAX 8810, VAX 8820, VAX 8830, VAX 8840 VAX 8842, VAX 8974, VAX 8978 VAX 9000 Model 110, 110VP VAX 9000 Model 210, 210VP VAX 9000 Model 310, 310VP VAX 9000 Model 320, 320VP VAX 9000 Model 330, 330VP VAX 9000 Model 340, 340VP VAX 9000 Model 410, 410VP VAX 9000 Model 420, 420VP VAX 9000 Model 430, 430VP VAX 9000 Model 440, 440VP VAX 10000 Model 610, 620, 630, 640, 650, 660 MicroVAX: MicroVAX II MicroVAX 2000 MicroVAX 3100 Model 10/10E, 20/20E, 30, 40, MicroVAX 3100 Model 80, 85, 88, 90, 95, 96, 98 MicroVAX 3200, MicroVAX 3300 9 MicroVAX 3400, MicroVAX 3500 MicroVAX 3600, MicroVAX 3800, MicroVAX 3900 VAXstation: VAXstation II/GPX, VAXstation II/QVSS VAXstation 2000 VAXstation 2000/GPX VAXstation 2000/MFB VAXstation 3100 Model 30, 38, 40, 48, 76 VAXstation 3100/GPX Model 38, 48, 76 VAXstation 3100/SPX Model 38, 48, 76 VAXstation 3200 VAXstation 3500, VAXstation 3520, VAXstation 3540 VAXstation 4000 Model 60, 90, 95, 96, VLC VAXserver: VAXserver 3100 Model 10, 10E, 20, 20E VAXserver 3200, 3300, 3400 VAXserver 3500, 3600, 3800, 3900 VAXserver 4000 Model 200, 300, 400, 500, 600 VAXserver 6000 Model 210, 220 VAXserver 6000 Model 310, 320 VAXserver 6000 Model 410, 420 VAXserver 6000 Model 510, 520 VAXserver 8200, 8250 VAXserver 8300, 8350 VAXserver 8530, 8550 VAXserver 8600, 8650 VAXserver 8700 VAXserver 8800, 8810, 8820, 8830, 8840 10 OpenVMS Version 6.2 is the last version of OpenVMS to support the following: VAX-11/750, VAX-11/751 VAX-11/780, VAXVAX-11/782, VAX-11/785 Processors Not Supported: MicroVAX I VAXstation I VAXstation 8000 VAX-11/725 Processor Restrictions: A TK50 Tape Drive is required for standalone MicroVAX 2000 and VAXstation 2000 systems. Disk Space Requirements (Block Cluster Size = 1): For Alpha Systems: Disk space required for 19,800 blocks installation: (10.2 MB) Disk space required for 15,700 blocks use (permanent): (8.1 MB) For VAX Systems: Disk space required 9,200 blocks during installation: (4.7 MB) Disk space required for 8,400 blocks use (permanent): (4.3 MB) 11 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 SPD for the Floating- Point Accelerator or other floating-point hardware appropriate for your configuration. CLUSTER ENVIRONMENT This layered product is fully supported when installed on any valid and licensed VMScluster* configuration without restrictions. The HARDWARE REQUIREMENTS sections of this product's Software Product Description and System Support Addendum detail any special hardware required by this product. * VMScluster configurations are fully described in the VMScluster Software Product Description (29.78.xx) and include CI, Ethernet, and Mixed Interconnect configurations. SOFTWARE REQUIREMENTS For Alpha Systems: o OpenVMS Alpha Operating System Version 6.1 through Version 7.1 o OpenVMS Alpha Operating System Version 6.2 required for DEF* support o OpenVMS Alpha Operating System Version 6.2 required for Digital Al- phaStation 600 products For VAX Systems: 12 o OpenVMS VAX Operating System Version 5.5_2 - Version 7.1 OPTIONAL SOFTWARE Certain versions of these products depend upon a specific version of the operating system. Please refer to the Software Product Description of the product in question to determine which version is necessary. o DEC Language-Sensitive Editor component of the DEC Language-Sensitive Editor/Source Code Analyzer Version 4.4 for OpenVMS Systems o DEC Performance and Coverage Analyzer (PCA) Version 4.4 for OpenVMS Systems Required to fully use the /ANALYSIS_DATA qualifier: o DEC Source Code Analyzer component of DEC Language-Sensitive Editor/Source Code Analyzer Version 4.0-Version 4.4 for OpenVMS Systems Note: DEC Language-Sensitive Editor/Source Code Analyzer, DEC Performance and Coverage Analyzer and DEC Source Code 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 DEC 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 DEC Language-Sensitive Editor/Source Code Analyzer Version 4.0 - Version 4.4 for OpenVMS VAX Systems 13 Note: DEC Language-Sensitive Editor/Source Code Analyzer is available as part of DECset for OpenVMS Systems (SPD 27.07.xx). GROWTH CONSIDERATIONS The minimum hardware/software requirements for any future version of this product may be different from the minimum requirements for the current version. DISTRIBUTION MEDIA For Alpha Systems: This product is distributed on the OpenVMS Alpha Software Library Package (order number QA-03XAA-H8). Online documentation only is distributed on the OpenVMS Alpha Online Documentation Library (order number QA-4KM8A-G8), and binaries only are distributed on the OpenVMS Alpha Software Library Package (order number QA-4KL8A-A8). These CD-ROMs contain the DEC BASIC software binaries and online documentation in Bookreader[TM] and POSTSCRIPT[R] format. The DEC BASIC Documentation is also available in hard copy, which can be ordered separately. For OpenVMS VAX Systems: 9-track 1600 BPI Magtape, TK50 Streaming Tape This product is also available as part of the OpenVMS Consolidated Software Distribution on CD-ROM (QA-VWJ8A-A8). The software documentation for this product is also available as part of the OpenVMS Online Documentation Library on CD-ROM. ORDERING INFORMATION 14 For Alpha Systems: Software Licenses: Personal Use: QL-095AA-2B Concurrent Use: QL-095AA-3* Unlimited System Use: QL-0Y7A*-** Software Media/Documentation (CD-ROM): QA-03XAA-H8 Software Documentation (hard copy): QA-095AA-GZ Software Product Services: QT-0Y7A*-** For OpenVMS VAX Systems: Software Licenses: Personal Use: QL-095AA-2B Concurrent Use: QL-095AA-3* Unlimited System Use: QL-095A*-** Software Media: QA-095A*-** Software Documentation: QA-095AA-GZ Software Product Services: QT-095A*-** * Denotes variant fields. For additional information on available li- censes, services, and media, refer to the appropriate price book. SOFTWARE LICENSING This software is only furnished under a license. For more information about DIGITAL's licensing terms and policies, contact your local DIGITAL office. License Management Facility Support This layered product supports the OpenVMS License Management Facility. License units for this product are allocated on an Unlimited System Use plus Personal and Concurrent Use basis. 15 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 OpenVMS License Management Facility, refer to the appropriate OpenVMS Operating System SPD or documentation. SOFTWARE PRODUCT SERVICES A variety of service options are available from DIGITAL. For more information, contact your local DIGITAL office. SOFTWARE WARRANTY Warranty for this software product is provided by DIGITAL with the purchase of a license for the product. This means that DIGITAL will remedy any nonconformance when it is reported to DIGITAL by the customer during the warranty period. The warranty period is one year. It begins when the software is installed or thirty days after delivery to the end user, whichever occurs first and expires one year later. All warranty related support for this software will end one year after release of the subsequent versions. Warranty is provided in the country of purchase. DIGITAL will provide a service location which will accept reporting (in format prescribed by DIGITAL) of a nonconformance problem caused when using the licensed software under normal condtions as defined by this SPD. DIGITAL will remedy a nonconformance problem in the current unaltered release of the licensed software by issuing a correction information such as: cor- rection documentation, corrected code; or a notice of availability of corrected code; or a restriction or a bypass. The customer will be re- sponsible for the preparation and submission of the problem report to the service location. 16 WARRANTY EXCLUSION DIGITAL does not warrant that the software licensed to customer shall be error free, that the software shall operate with any hardware and software other than as specified in this SPD, that the software shall satisfy customer's own specific requirements, or that copies of the software other than those provided or authorized by DIGITAL shall con- form to the SPD. DIGITAL makes no warranties with respect to the fitness and operability of modifications not made by DIGITAL. If the software fails to function for reasons stated previously, the customer's warrranty will be invalidated and all service calls will be billable at the prevailing per call rates. This Software Warranty is effective for licensed software products ordered in the United States after October 1988 and supersedes all prior versions. The previous information is valid at time of release. Please contact your local DIGITAL office for the most up-to-date information. [TM] Alpha, CI, DEC, DEC BASIC, DEC GKS, DECset, DECwindows, DIGITAL, Ethernet, MicroVAX, OpenVMS, RSTS/E, VAX, VAX BASIC, VAXserver, VAXstation, VMScluster, and the DIGITAL logo are trademarks of Digital Equipment Corporation. [R] POSTSCRIPT is a registered trademark of Adobe Systems Incor- porated. [TM] BASIC is a trademark of the Trustees of Dartmouth College, D.B.A. Dartmouth College. [TM] Oracle CDD/Repository is a trademark of Oracle Corporation. © 1998 Digital Equipment Corporation. All rights reserved. 17