S2VSPD.MEM -- SFTOVX Software Description October, 1983 1.0 PRELIMINARY SOFTWARE DESCRIPTION SFTOVX consists of a series of APL functions designed to assist the APL-SF programmer in moving existing applications from APL-SF V2 to VAX APL V1.1 or later. The migration of APL workspaces and data files from APLSF to VAX APL occurs through text files. MIGRATE, an APLSF function, builds a batch control stream which then executes APL functions that create text files from APL files. MIGRATE interacts with the user to find out what should be transported and prompts the user for filenames. MIGRATE also allows the user to specify an optional filter workspace (containing functions such as FILTER, ASFILTER, and DAFILTER) which allows the user to modify the file before it is transported. Files which can be transferred include workspaces, and /AS, /IS, /DA and /BS data files. The DRIVER function transfers workspaces, the ASDRIVER function transfers /AS data files, the DADRIVER function transfers /DA data files and so on. These driver functions, invoked by a batch stream, dump the workspaces and data files as input scripts into text files which are then transferred by the user's own methods to the VAX. Then they are used by VAX APL as )INPUT files. DRIVER transports variables, system variables, channel assignments, workspace identifications, groups, and unlocked functions within APLSF workspaces as text to the VAX. While the text file is being made, DRIVER examines the user-defined functions and performs source transformations that minimize the incompatibilities between APLSF and VAX APL. SUBMIT is a VAX APL function that handles the text files that have been moved by the user. SUBMIT interacts with the user and builds a VMS command file that, when run indirectly or in batch, executes VAX APL for each input script specified by the user. When these input scripts are processed by means of VAX APL, a workspace or a data file is created on the VAX. These created files are the migrated images of their counterparts on TOPS-20. Note that SFTOVX is a general tool which can be overlaid by the user's software in certain instances (for example, the FILTER function). Page 2 2.0 INCOMPATIBILITES Incompatibilities do exist between APLSF and VAX APL. The SFTOVX functions minimize these incompatabilities in most circumstances. However, not all incompatibilities can be handled. Some of the incompatabilities are listed below: o Escape mode does not exist in VAX APL. o Tabs in data and in files remain as tabs. They are not converted to spaces in VAX APL. o .Z@ is not recognized by VAX APL as the character underscored delta. o In APLSF, .RU is a "U" with the feet pointing to the right; .LU is a "U" with the feet pointing to the left. In VAX APL, .RU is a "U" with the feet pointing to the left and .LU is a "U" with the feet pointing to the right (in other words, the directions of the feet are opposite what they are in APLSF). SFTOVX outputs the "U" with the feet pointing to the right as "left U" (.LU) and the "U" with the feet pointing to the left as "right U" (.RU). The APL graphic from APLSF is the same as the APL graphic inside VAX APL. o Dyadic $ is not supported in VAX APL. SFTOVX converts a $ primitive function to .BXFMT. o Monadic .EN, .DE and .OM are not supported in VAX APL. SFTOVX converts the primitive functions .EN, .DE, and .OM to the user-defined (DEC-provided) functions .LD.USEN, .LD.USDE, and .LD.USOM which simulate the behavior under APLSF. o A negative number raised to a non-integer power by means of dyadic * is an error in VAX APL; it gives an answer in APLSF. o Output from .FM format is different in VAX APL. o I-beams don't exist on the VAX. SFTOVX replaces the primitive function .IB with .LD.USIB, which simulates most of the documented I-beams and none of the undocumented ones. o .BXASCII is not supported in VAX APL. SFTOVX replaces .BXASCII with a niladic function .LD.USASCII, which returns 128 VAX APL .BXAV codes that resemble ASCII. o .BXAV is different in VAX APL than in APLSF. SFTOVX replaces .BXAV with a niladic function .LD.USAV, which returns 512 VAX APL .BXAV codes Page 3 that resemble .BXAV in APLSF. o Several system commands in APLSF are not in VAX APL. o Some functions are quiet in VAX APL but not in APLSF. o .BXGAG values in APLSF are reversed in VAX APL. 3.0 REQUIRED SOFTWARE APL-SF V2 and VAX APL V1.1 4.0 SOFTWARE INSTALLATION CUSTOMER INSTALLED -- SFTOVX is a software product engineered to be installed by the customer. 5.0 SUPPORT CATEGORY CUSTOMER SUPPORTED 6.0 WARRANTY NONE THIS SOFTWARE PRODUCT IS PROVIDED "AS IS" WITHOUT ANY WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED.