To include a new analysis, add a clause for analyze/2 (and for analysis/1).
As an alternative, you can add clauses for the multifile predicates analysis/4 and analysis/1, directly in your own sources.
See the file examples/Extending/myanalyzer.pl in the source directory for an example of this.
Usage:analyze(Analysis)
Analyzes the current module with Analysis. If the intermod flag is not off, this predicate may call module/1.
ctcheck_sum(ok). ctcheck_sum(warning). ctcheck_sum(error).
Usage:acheck_summary(S)
Checks assertions w.r.t. analysis information. Upon success S is bound to: ok (the compile-time checking process has generated no error nor warning), warning (compile-time checking has not generated any error, but there has been at least one warning) or error (at least one error has been produced).
Usage:acheck(AbsInt)
Checks assertions using the analysis information of AbsInt. The analysis must be present in CiaoPP (via analysis or restore dump).
Usage 1:acheck(AbsInt,ModList)
Usage 2:acheck(AbsInt,MaybeModList)
If MaybeModList is the atom all, all modules in the current punit are considered. If it is a list of module names, only the assertions or predicates in those modules are checked.
Usage:
Cleans all analysis info but keep the program as wether it would be just read.
Usage 1:trace_fixp(X)
Mode for setting the current flag to a single value.
Usage 2:trace_fixp(X)
Mode for setting the current flag to several values.
Usage:analysis(Analysis,Clauses,Dictionaries,Info)
Performs Analysis on program Clauses.
Usage:analysis(Analysis)
Analysis is a valid analysis identifier.