Turbolint

Note: This is history. Turbolint is removed from Prolint release 74, because Turbolint was not compatible with Proparse.NET

Turbolint is a Dynamic Link Library that contains 3GL versions for some of the rules. The purpose of Turbolint is to improve the overall performance of Prolint, by running the 3GL rules instead of the 4GL rules.


The rules contained in Turbolint are supposed to be identical to the 4GL rules, only faster.

Turbolint.dll does not contain 3GL versions of every existing 4GL rule.

By default, if a 3GL rule exists in Turbolint.dll, then Prolint will use this 3GL version instead of the 4GL version.

Obviously if a rule does not exists in Turbolint.dll then Prolint will use the 4GL version.

Turbolint.dll currently contains the following rules:

abbrevkwd,blocklabel,ifindent,ifindent1,ifindent2,noundo,nowhere,recid,runargs,sepdbui,substitute,varusage


The ultimate goal is not to have every rule in Turbolint, only the really slow ones.

What to do if you prefer 4GL?

Sometimes you may want to prefer the 4GL version of a rule, even if Turbolint contains a 3GL version. For example when you are modifying or debugging the rule.
There are different ways to force Prolint to use the 4GL rule:

custom rules always take precendence over standard rules. Just copy the rule from directory "prolint/rules" to "prolint/custom/rules". Because if Prolint can find a rule in "prolint/custom/rules" then it's a custom rule, and will be run instead rules with the same name in "prolint/rules" or turbolint.

If you don't want to make a custom rule, but still want to run a 4GL rule instead of a 3GL rule, then you can specify so in file
"prolint/custom/prolint.properties.p" :

For example:

     RUN SetProlintProperty ("Turbolint.RulesToIgnore", "noundo,varusage").

will force Turbolint to NOT run its built-in versions of rule "noundo"
and "varusage", and Prolint will run the 4GL versions instead. See
file prolint/prolint.properties.p for more details.

Finally, you can simply remove or rename file "prolint/turbolint.dll" so Prolint cannot find it. Prolint will then simply fall back to its 4GL rules.