Compaq BASIC Translator Version 1.3 Release Notes Summary of Compaq BASIC Translator Version 1.3 April 2002 © 2002 Compaq Information Technologies Group, L.P. Compaq, the Compaq logo, Alpha, DEC BASIC, DECNET, OpenVMS, VAX, VAX BASIC, VMS, and the DIGITAL logo are trademarks of Compaq Information Technologies Group, L.P. in the U.S. and/or other countries. All other product names mentioned herein may be trademarks of their respective companies. Confidential computer software. Valid license from Compaq re- quired 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 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 is provided "as is" without warranty of any kind and 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. CONTENTS 1 Product Description.................................. 1 2 New Features......................................... 1 3 Problems Fixed in This Release....................... 1 4 Deferred Items....................................... 2 5 Known Problems and Restrictions...................... 2 5.1 Documentation Problems............................ 3 5.1.1 User Manual.................................... 3 6 Reporting Software Problems.......................... 4 iii Release Notes for Compaq BASIC Translator Version 1.3 1 Product Description The Compaq BASIC Translator for OpenVMS systems is a source code translator that runs on OpenVMS VAX and Alpha systems and translates VAX BASIC and Alpha BASIC code to Visual Basic on Windows NT, Windows 95, or Windows 98. The Compaq BASIC Translator Version 1.3 requires OpenVMS Version 6.2 or later to run. 2 New Features The following is a list of new features included in this re- lease. o Packaging with the Alpha BASIC compiler. The Compaq BASIC Translator is now packaged with the Com- paq BASIC compiler and the installation of the Trans- lator is described in the Compaq BASIC for OpenVMS Al- pha Systems Installation Guide. This packaging also in- cludes the Translator RTL which is needed to run trans- lated applications in the Windows environment. It is op- tionally placed in the SYS$LIBRARY directory for your convenience, however it is recommended to download it directly to your Windows system from the Internet at http://www.openvms.compaq.com/commercial/basic/db2vb_index.html. o The new /ARCHITECTURE AND /OPTIMIZE=TUNE= qualifiers are recognized. 3 Problems Fixed in This Release The following problems have been fixed since version 1.2. o Previously, an attempt to install the Translator on an old version (before Version 6.2) of OpenVMS occasionally caused an irrelevant "too many parameters" diagnostic message. This problem has been corrected by issuing a message that the OpenVMS version is not supported. o Previously only the primary Visual Basic project file was placed in a specified directory by the /OUTPUT qualifier. Now all output files are placed in the directory specified by the /OUTPUT qualifier. Also a specified file type is applied to both the project and globals files. o Previously, the Translator did not handle moving arrays of any number of dimensions. Now the Translator correctly handles MOVE FROM and MOVE TO operations with array variables of three or fewer dimensions. o Previously, when the optional KEY number clause was specified with a RESTORE statement, the translated code contained an extra DECBAS_POS_KEY argument which causes a Visual Basic syntax error. The Translator no longer generates an extra DECBAS_POS_KEY argument. 1 Release Notes for Compaq BASIC Translator Version 1.3 o Previously, the NOCHANGES and NODUPLICATES keywords were incorrectly translated as CHANGES and DUPLICATES. They are now correctly translated. o Previously, in MAP declarations, implicit STRING type FILL elements without a "$" suffix were ignored. This resulted in incorrect offset and size information in the MAP class file. The problem has been corrected. o Previously, RMS files could not be opened on the server from the client. This problem has been fixed and the RMS file server now works correctly. 4 Deferred Items Support for the following items are deferred to a future release of the product. o Full record assignment, (as in A = B where A and B are de- clared to be a user defined type) is not currently supported by the Translator. o CDD support. 5 Known Problems and Restrictions This section summarizes problems and restrictions in the Compaq BASIC Translator not included in the Compaq BASIC Translator User Manual. o The Translator does not fully support the decimal data type, because it is also not fully supported in Visual Basic. o If a GROUP has the same name as another GROUP or RECORD, the Translator may generate multiple class files with the same name. This problem also applies to RECORD and MAP/COMMON names that are the same. Since the names conflict, the trans- lated code will not work properly, and since the Windows file system does not support file versions, only one of the classes will be available on the destination system. To work around this problem either rename the duplicate files and structures in the resulting Visual Basic code or rename the duplicate GROUP structures in the source program. o If a RECORD type is used in a VARIANT of another RECORD before it is defined, the Translator will make incorrect adjustments to the size and offset information in the VARIANT RECORD's class declaration. o When the OPTION TYPE=EXPLICIT statement is used the generated variable DECBAS_TEMP may cause a Visual Basic undeclared variable error. In these cases a Dim DECBAS_TEMP statement should be added to the generated Visual Basic code. 2 Release Notes for Compaq BASIC Translator Version 1.3 o When the Translator is given multiple file names (separated by comma), the final message only names the last module translated and indicates the number of diagnostic messages from that final module. o In some cases when the input to the Translator is an incor- rect program, the Translator will emit a stack dump instead of simply giving an error message before aborting. Since the Translator is designed only to work on valid Alpha BASIC or VAX BASIC programs, before attempting to translate a pro- gram be sure that it compiles error free by the appropriate compiler. o Installing DEC BASIC V1.2 or earlier or VAX BASIC V3.8 or earlier after installing the Compaq BASIC Translator will cause the Translator to become unavailable. To solve this problem, reinstall the Translator. o The xxx_GBLS.VB file will have multiple declarations for con- stants that are declared in a common %INCLUDE file. Removing the extra declarations in the xxx_GBLS.VB file will solve the problem. o Currently there is no way to surpress the terminal emulator and/or replace it with user Visual Basic code. 5.1 Documentation Problems The following problems exist in the Compaq BASIC Translator documentation: 5.1.1 User Manual Corrections to the Compaq BASIC Translator User Manual. o LOC function The description of the LOC function in Chapter 7 is how it is intended that the LOC function be translated. Currently the translation is only partial. All instances of the LOC function are translated to DECBAS_LOC, and a warning message is given. This is the correct translation if the argument is a variable, but not if it is a function or subroutine. If the argument is a function or subroutine then the DECBAS_LOC must be manually changed to AddressOf, and the parentheses removed. For example: Alpha BASIC or VAX BASIC Input x = fnc (a, LOC (fnc2), b) Translator Output x = fnc (a, DECBAS_LOC (fnc2), b) Corrected Translation x = fnc (a, AddressOf fnc2, b) 3 Release Notes for Compaq BASIC Translator Version 1.3 6 Reporting Software Problems Complete and concise information will help Compaq give accurate and timely service to software problems. Experience shows that many problem reports do not contain sufficient information to duplicate or identify the problem. When you prepare to report a problem, please follow the follow- ing guidelines: o Describe as accurately as possible the circumstances and state of the system when the problem occurred. Include in the description the version number of the Compaq BASIC Trans- lator and the version of the operating system being used. Illustrate the problem with specific examples. o Reduce the problem to as small a size as possible, preferably to a program unit of 30 source lines or fewer. o Remember to include listings of any command files, relevant data files, and so on. o Provide the listing and output of the Compaq BASIC Transla- tor. o Submit sources on machine-readable media (floppy diskette or magnetic tape) if possible. No media will be returned to you when the SPR is answered unless you specifically request it. o Report only one problem per report. This will facilitate a faster response. 4