DLSuperC

DLsuperC Trial VersionDLSuperC is an exceptional compare program. It features speed, accuracy (doesn’t get lost) and versatility. It handles file sizes greater than 64K lines even in it’s older 16 bit Window’s 3.x version – DLSuperC16. Importantly, DLSuperC allows a user to “filter out” or ignore changes that are temporarily considered as unimportant (e.g., programming language comments, reformatted lines and text upper/lower case changes). It, also, detects lines that have moved out of sequence (i.e., relocated code). It even compares two files that are composed of two unordered lists. This last compare is unique in that the order of the lines in the list is unimportant – just that the lines match, are absent, or are duplicates.

Need a validation program that detects changes to vital programs that programmers fail to flag as changed? The program can be used to track changes between versions of source code and be used to document changes for change board reviews. It is also been helpful in tracking registry changes reflected between two-exported .REG files. It may even help with many users tracking of changes and upgrade problems.

DLSuperC produces reports that can display the file differences in several ways – small size (deltas, changes, and summary) reports or large annotated listings. The results can be displayed on a single panel or listed in a split manner. Color-coding has been added to help the user spot changes quickly. Colored printouts on appropriate printers are also possible.

The program is primarily directed toward an interactive session with the user. As a result, most reports are made directly to a display screen. The programmer is given an option to save the report to an output file for future reference. An optional feature allows the ability for the program to run DLSuperC in a batch invocation mode as contrasted to interactive. The command line, a batch procedure, or an indirect user program invocation can invoke the optional compare process without the normal interactive panel being displayed. The primary result is to achieve multiple compare job steps and directly generating the batch output directly to a user designated file. This output can result in the creation of the output results including the user’s full source lines of up to 2048 characters.

More significantly, the batch mode allows the user to run in a silent mode. A user program can dispatch DLSuperC (e.g. a VB program) directing DLSuperC to perform a comparison based on a set of statements embedded as text in the parameter named file. The DLSuperC main panel need not be displayed and the final returned results could be reformatted or manipulated. The user need not even be aware that DLSuperC was even invoked.

However, most programmers want to immediately see where changes have been made so they can determine if all expected modifications are included in the most recent version. Other usage is as a result of looking at changes because the new upgrade has a problem that the old version did not have. Looking at the last changes made is a good place to start in diagnosing program failures. Still other requirements for DLSuperC are as an auditing tool whereby all changes need to be flagged and verified before a new version of a module is promoted.

DLSuperC provides many ways to view changes in the context that some changes are not of particularly important at any given time. As an aid to the user in clearly determining code changes that is important, several Preference options are offered. They allow the user to override text attributes and incidental changes during the compare (e.g., Ignore Case, Reformat Override) or even be selective in determining what data to be compared (e.g., Compare Columns, Part Compare, Don’t Process Comments, etc of a file).

Comparing lines in files that are not in coding order (i.e., text data lines not program source lines) are allowed using a compare algorithm much like that for source code. The lines are compared for matches, inserts, deletes, or duplicates. Matches are not considered as the best sequential match set but merely located as lines somewhere in the complete file. Using the Compare Columns (up to two different ranges per file) in addition to the batch Don’t Process Lines option, significant database compare processing can be an valuable operation.

DLSuperC can even compare binary files as a check on whether both files are equal or not. This requires specifying the preference option of “Ieof” to ignore any data bytes that stop text file processing signifying an end-of-data. However, other DLSuperC (e.g., DLSuperCBF, DLSuperCBT) programs may do this binary compare with better precision and less overhead.

DLSuperC has been specially written for execution under Microsoft Windows. The full capability of the program, its panels, and its operation is more fully detailed in the accompanied DLSuperC program Help (Overview) file. As mentioned, the program even has a batch mode of operation whereby the user can invoke the program referring to a script-like file that contains statements that allows multiple file compares with job steps. These job steps are executed as if the program had been re-instructed to do the same compares interactively. The end result is a complete execution with the capability to optionally end the job without a user response.

DLSuperC was modeled after the IBM main frame “Best of Breed” program “SuperC”. This newest Window’s version has been specifically developed to bring the original SuperC’s unique change detection technology to the PC environment. Many old IBM main frame users will be happy to find that DLSuperC’s Window version is quite similar to the one that they have been previously using.

Variations of the IBM SuperC program still exist for MVS, VM, AS/400, and PC DOS’s operating systems. This author’s cloning that produced the Win3.x and Win95 versions expands the coverage to these two additional systems. The last two versions of the compare program are completely new efforts developed using the published documents for the IBM program.

The 32-bit version of DLSuperC is a complete rewrite of the 16-bit C++ back-end and a Microsoft Visual Basic front-end. The new DLSuperC is implemented using Borland’s DELPHI 5.0 RAD compiler (an Object Oriented Pascal product).