What's new in version 5 (May 2010)?

Top  Previous  Next


This section describes changes and new features in Pascal Analyzer version 5, compared to version 4.


Build reports in multiple threads

Take advantage of the new generations of multi-core processors, and generate reports quicker by using multiple threads. Of course your result will depend on your particular hardware. Greater number of processors and cores means faster reports.


There is a new option to set the number of threads that should be used when creating reports. For a dual-core processor, this means that two threads is probably a suitable choice. This is also the default value. Because your mileage may vary, you should probably experiment with this setting to find optimal number of threads for a particular project and hardware.



Suppress reporting by source line

It is now possible to let PAL skip reporting, for selected source code lines. This is convenient, to avoid the false positives that PAL sometimes outputs. Remember, that unlike the compiler, PAL does not always have access to the complete source code, making it hard to resolve all references correctly.


By adding a special comment, like for example:




.. at the end of a source code line, means that PAL will not report any issues found on that particular line. Also, if you put the comment on a line where an identifier is declared, that identifier will not be reported. This is the most effective way to get rid of all issues for a particular identifier.


It is possible to select what string should be used as the marker. Default value for the suppression marker is "PALOFF", but you can change this to something else. Blank spaces between "//" and the suppression marker are allowed. You can also have more comment text to the right of the marker, like:


//PALOFF because false warning otherwise



New Exception Report

You could think that the 40+ reports already available cover most demands. But one area that has not been touched in previous versions is exceptions.

This new report produces two sections dealing with exceptions:


- Exception Call Tree

This section is similar to the Reverse Call Tree Report, but it adds information about how exceptions are handled.


- Raised exceptions

This section lists which exceptions that are explicitly raised in the source code (with the keyword "raise").



New Similarity Report

This new report produces listings of identifiers that have similar names. It does so by using the well-known soundex algorithm. You may use this report to determine how close your identifiers are by name.



New Module Totals Report

This new report produces similar results as the Totals Report, but divided for each module (unit).



New section in Duplicate Identifiers Report

This new section also lists duplicate identifiers, but only those in overlapping scope. These identifiers are most likely to cause problems, if they are confused with each other.



Command line options for PALCMD.EXE

There is a whole new bunch of command line options for PALCMD, which will override settings from PAL.INI:


/F specifies the report format (text, HTML, XML)


/S specifies a semicolon-delimited list of search folders, like /S="C:\CODE1;C:\My Code"


/T specifies the number of report threads to use


/L specifies the path to a text file with limit info


This last option demands a more detailed explanation: You can now use a text file with limit information, which determine the maximum values for sections in reports.


For example, if the file contains just this line:




.. "WARN1" is the code for the section "'Interfaced identifiers that are used, but not outside of unit" in the Warnings Report.


If then the number of warnings in a particular run of PALCMD.EXE exceeds 5, PALCMD.EXE will write out an error, and halt with an exit code of 99, and with an error message. You can use this when integrating PAL with your build process, to stop it when any unexpected results occur.



Speed improvements

There are a number of improvements in the parser, allowing for faster parsing of source code. For example, include files are now cached, so that their content does not need to be read from disk repeatedly.


The building of reports is now much faster, due to a more efficient handling of the data structures generated during parsing, and to the new ability to build reports in threads.


These speed improvements are equally available both in the GUI program PAL.EXE and the command-line program PALCMD.EXE



Check for new versions

There is now an option in the settings dialog that will let PAL inform when new versions are available at our web site.



Project options dialog

There is now a hint window displayed when hovering over reports on the Reports tab page. This will help you to get an indication what the report does. Also, the organization and overall design of this dialog has been improved



Suggest main file folder for project file

Normally, PAL will suggest saving a file in the folder that is defined as the project folder. But you can now select an option, that lets PAL suggest the same folder as the folder in which the main file for the project is located. This is desirable if you want to keep PAL's project file together with the source code it analyses.



Report tree

It is now possible to select the font and background color for the report tree.



See also:

What's new in version 9?