Modular driver

Stability: [devel] Currently the subject of active development and/or research. Functionality may be limited and API and/or functionality may change without warning or deprecation period. Not recommended yet for use in production.


This module provides intermodular analysis to CiaoPP.

Documentation on exports

Usage:

Cleans up the internal database of the intermodular analysis global level.

    Usage:top_level_module(TopLevelModule,TopLevelBase)

    TopLevelModule is the top-level module of the current program unit, and TopLevelBase is its basename.

    • The following properties should hold at call time:
      (var/1)TopLevelModule is a free variable.
      (var/1)TopLevelBase is a free variable.

    No further documentation available for this predicate.

    Usage 1:valid_mod_analysis(Domain)

    Succeeds if Domain is a valid analysis domain for modular analysis

      Usage 2:valid_mod_analysis(DomainList)

      Succeeds if the domains in DomainList are valid analysis domains for modular analysis

        Usage:set_modules_analyzed(ModList)

        Sets the list of modules which have been analyzed.

        • The following properties should hold at call time:
          (list/1)ModList is a list.

        No further documentation available for this predicate.

        No further documentation available for this predicate.

        Usage:get_modules_analyzed(ModList)

        Returns the list of modules analyzed the last time a modular analysis was executed.

        • The following properties should hold upon exit:
          (list/1)ModList is a list.

        PREDICATEauto_check/2

        Usage:auto_check(Analysis,TopLevel)

        After using auto_analyze/2, this predicate allows checking the results of the analysis. Generates internal (complete/7) information for all the modules in the program unit TopLevel, and stores it in memory in order to compare it with the results of monolithic_analyze/2.

        • The following properties should hold at call time:
          (nonvar/1)Analysis is currently a term which is not a free variable.
          (nonvar/1)TopLevel is currently a term which is not a free variable.

        Usage:auto_transform(Analysis,Trans,TopLevel)

        Performs transformation Trans of the program unit which has TopLevel as top-level module, using Analysis to get information about the program.

        • The following properties should hold at call time:
          (nonvar/1)Analysis is currently a term which is not a free variable.
          (nonvar/1)Trans is currently a term which is not a free variable.
          (nonvar/1)TopLevel is currently a term which is not a free variable.

        Usage:auto_simp_libs(TopLevel,Dir)

        Generates a copy of the program represented by TopLevel and the libraries used (except those in engine) in Dir, and removes dead-code from both user modules and libraries.

        • The following properties should hold at call time:
          (nonvar/1)TopLevel is currently a term which is not a free variable.
          (nonvar/1)Dir is currently a term which is not a free variable.

        No further documentation available for this predicate.

        Usage:auto_ctcheck(Analysis,TopLevel)

        Performs CT assertion checking of the program unit which has TopLevel as a top-level module, using Analysis to get information about the program.

        • The following properties should hold at call time:
          (nonvar/1)Analysis is currently a term which is not a free variable.
          (nonvar/1)TopLevel is currently a term which is not a free variable.

        No further documentation available for this predicate.

        No further documentation available for this predicate.

        No further documentation available for this predicate.

        No further documentation available for this predicate.

        No further documentation available for this predicate.

        No further documentation available for this predicate.

        Usage:auto_ctcheck_opt(Analysis,TopLevel)

        Performs CT assertion checking of the program unit which has TopLevel as a top-level module, using Analysis to get information about the program (exploits order of the modules).

        • The following properties should hold at call time:
          (nonvar/1)Analysis is currently a term which is not a free variable.
          (nonvar/1)TopLevel is currently a term which is not a free variable.

        No further documentation available for this predicate.

        Usage:auto_ctcheck_list(Analysis,TopLevel,Modules)

        Performs CT assertion checking of modules on the list of the program unit which has TopLevel as a top-level module, using Analysis to get information about the program.

        • The following properties should hold at call time:
          (nonvar/1)Analysis is currently a term which is not a free variable.
          (nonvar/1)TopLevel is currently a term which is not a free variable.
          (nonvar/1)Modules is currently a term which is not a free variable.

        No further documentation available for this predicate.

        PREDICATEcleanreg/0
        No further documentation available for this predicate.

        PREDICATEcleanreg/1
        No further documentation available for this predicate.

        Documentation on multifiles

        No further documentation available for this predicate. The predicate is multifile.

        PREDICATEaidomain/1
        No further documentation available for this predicate. The predicate is multifile.

        Usage:transformation(Transformation)

        Transformation is a valid transformation identifier.

          The predicate is multifile.

          No further documentation available for this predicate. The predicate is multifile.
          The predicate is of type dynamic.

          No further documentation available for this predicate. The predicate is multifile.
          The predicate is of type dynamic.