gbProcSort is a code analysis utility which rebuilds a code listing, with non-procedural code at the top followed by sorted procedural code 3 different sort methods). gbProcSort also generates two types of call tree, one showing the sequence of procedure calls in the code and one that shows all procedures which call another procedure. Procedures, non-procedure code, and a simple list of procedure names may also be separately extracted.

In large applications, it's not unusual during development for procedures to be added at random locations in the code listing. With gbProcSort, procedures can be sorted, making it much easier to find a given procedure by browsing. Especially when procedures have common name prefixes, sorted procedures makes it much easier to browser/review the code.

And with Call Tree capability, gbProcSort provides additional methods for undestanding how procedures within a code listing interact with one another.

Download (v2.1, 543K)

The next image shows the main screen of gbProcSort. An application code listing is shown on the left, with the extracted/sorted code procedures shown on the right.

Key Features List

Key features of gbProcSort include:

As a safety feature, gbProcSort allows "Save-As" actions, but does not provide a "Save" feature. This is to minimize the chance that a user might overwrite an existing source code file.

Using gbProcSort

To start using gbProcSort, you need a source code listing, which goes into the INPUT Scintilla control. You can Open (toolbar button) an existing source code file (*.bas or *.inc) or you can paste content into the INPUT side.

With source code available, you can take any of several actions. Display procedure titles

  • Display non-procedure code
  • Display procedure code (un-sorted)
  • Display procedure code (Ascending sort)
  • Display procedure code (Descending sort)
  • Display all code (Ascending, Forward Call, or Reverse Call sorts)
  • Dipslay call tree (call or called by sequences)

    Each of these actions are taken by using the corresponding toolbar button. The results are displayed in the OUTPUT side of gbProcSort.

    There are two ways to update the original source code to contain the sorted procedure listings.

    1. Open the original code in an IDE, delete the procedures, paste in the sorted procedure listing from gbProcSort
    2. In gbProcSort, display the non-procedure code and copy it all to the clipboard. Then display the procedure code. Paste the non-procedure code at the top of the procedure code listing. Use the OUTPUT context menu item "Save-As" to save the listing to a file

    The Input/Output editors also provide standard Cut/Copy/Paste context menus.

    That's it!


    The gbProcSort interface includes the following toolbar.

    The following options are available from the toolbar. Some buttons provide additional dropdown menu options.

    Keyboard Shortcuts

    The following key combinations are available to the user to access gbThreads features:

    Other Comments

    Miscellaneous information is provided in this section.

    INI File
    gbProcSort application settings are saved in an INI file, kept in the same folder as the gbProcSort application.

    Comments and suggestions are welcome!