FAQ - Pascal Analyzer
1.
What is Pascal Analyzer and how can it make my developer life easier?
2.
I'm a registered user, where can I find updated versions of the full program?
3.
Which compiler versions are supported by Pascal Analyzer?
4.
Is it necessary to change my source code in order to let Pascal Analyzer do its work?
5.
How can I jump from an error location in a Pascal Analyzer report to my source code?
6.
How can I hide source code from Pascal Analyzer?
7.
How can I exclude results from code in certain folders?
8.
Where can I find the cyclomatic complexity metrics for my code?
9.
How can I detect assigned value parameters?
10.
Can PAL tell me if I have declared an identifier with the same name as a built-in identifier?
11.
When adding a virtual abstract method to a base class, can PAL help me find all places where I need to override this method?
12.
Results are often presented as lists of identifiers, sorted by name. Can I change this so that the lists are displayed sorted by module
name, and secondly by identifier name?
13.
Is it possible to generate a list of global variables?
14.
For a given function or procedure, is it possible to see a list of all called other functions or procedures?
15.
How can I create a template for new projects, so I do not have to enter
the same settings again and again?
1. What is Pascal Analyzer and how can it make my developer life easier?
Pascal Analyzer is a powerful and efficient source code analysis tool. It
will help you find all sorts of bugs, errors, and anomalies.
Pascal Analyzer supports your development process by:
- finding errors in the source code, and help you avoid creating new ones
- assist you in understanding your source code, both if you have written it yourself or inherited it from another developer
- help you structure your code so it will become easier to maintain and enhance
2. I'm a registered user, where can I find updated versions of the full
program?
Read the mail you got when you ordered Pascal Analyzer. The same instructions apply for updates.
If you cannot find this mail, let us know, and we will help you as soon as we can.
3. Which versions are supported by Pascal Analyzer?
Pascal Analyzer directly supports code written for the following compilers:
- Borland Pascal 7 (or earlier)
- Delphi 1
- Delphi 2
- Delphi 3
- Delphi 4
- Delphi 5
- Delphi 6
- Delphi 7
- Delphi 8 .NET
- Delphi 2005 Win32
- Delphi 2005 .NET
- Delphi 2006 Win32 (also Turbo Delphi for Win32)
- Delphi 2006 .NET (also Turbo Delphi for .NET)
- Delphi 2007 Win32
- Delphi 2007 .NET
4. Is it necessary to change my source code in order to let Pascal Analyzer do its work?
No, not at all. Just make sure that you select a suitable compiler target. Also set any appropriate
compiler directives and conditional defines, just as you would when compiling from within the IDE.
Or use an include file with compiler directives and conditíonal defines.
5. How can I jump from an error location in a Pascal Analyzer report to my source code?
There are two ways:
- Under "Options|Preferences", select the "Source code" tab page and select "The source file is opened and
focused in a source code viewer". When doubleclicking on a line in a report, a source code pane is opened and the
corresponding line will be focused. This option will not allow you to edit the source code, just view it.
- Under "Options|Preferences", select the "Source code" tab page and select "The source file is opened and focused in the Delphi IDE". Also select which Delphi IDEs you want to interact with, and press the "Update registry" button. When doubleclicking on a line in a report, the corresponding source code file is opened in the Delphi IDE and the line is focused. This assumes that you have Delphi running. In this way you can make modifications to the source code.

6. How can I hide source code from Pascal Analyzer?
My project involves a lot of source code. I have no interest in finding errors in the VCL
or in some third-party libraries. What is the best way to avoid parsing and analyzing this code?
First, uncheck the "Use Delphi library path" and "Use Delphi browsing path" options in the "Project Options" dialog box. Then only include the folders that you want PAL to find in the "Search folders" text box.

7. How can I exclude results from code in certain folders?
I do not want to present results for code in some folders. What can I do?
Use the "Exclude identifiers from these folders in reports" option in the "Project Options" dialog box. It can sometimes be desirable to let Pascal Analyzer find and parse all code, so it can get a better understanding. But in this way, you can exclude results from these folders.
8. Where can I find the cyclomatic complexity metrics for my code?
Cyclomatic complexity is a measure of software complexity first introduced by McCabe. It measures the number of linearly-independent paths through a program module. PAL does not directly display cyclomatic complexity metrics. However, the Complexity Report displays decision points (DP). Cyclomatic complexity is often defined as the number of DPs plus one, so there is a direct relation between these two metrics.
9. How can I detect assigned value parameters?
For example, code like this:
procedure MyProc(I : integer); begin ... I := 555; // I is not passed as reference ... end;
In the "Warnings Report", this is reported in the section "Value parameters that are set".
10. Can PAL tell me if I have declared an identifier with the same name as a built-in identifier?
Yes, the "Convention Report" reports this in the section "Identifiers that have unsuitable names". It lists identifiers that share the same name as keywords, directives, or identifiers from the System unit. Example: Absolute, Round, IntToStr

11. When adding a virtual abstract method to a base class, can PAL help me find all places where I need to override this method?
Yes, the "Warnings Report" reports this in the section "Classes without override of abstract methods". It is important to override these methods, otherwise you could get an exception at runtime.
12. Results are often presented as lists of identifiers, sorted by name. Can I change this so that the lists are displayed sorted by module
name, and secondly by identifier name?
Sure, you find this in the Project Options dialog box, in the lower part of the "General" tab page.

13. Is it possible to generate a list of global variables?
The "Identifiers Report" has a section called "Global Variables", which provides exactly this.
14. For a given function or procedure, is it possible to see a list of all called other functions or procedures?
Use the "Call Index Report" for this.

15. How can I create a template for new projects, so I do not have to enter
the same settings again and again?
Set options for a new project, that you want to keep as a template. Then select "Options|Set as Template" from the menu and the options will be used for the new projects that you create.
© Copyright 2001-2007 Peganza
All product names are trademarks or registered trademarks of their respective owners.