This module includes the low-level predicates for interacting with CiaoPP. In this interaction model the user performs a sequence of commands to obtain a certain result (e.g., load program, analyze, check assertions).
The basic commands are:
The analyses and transformations are controlled by preprocessor flags. These flags can be modified or consulted with:
Other commands useful when developing or debugging CiaoPP:
V is a value for a flag.
Outputs the current module preprocessing state to a file Output. The output format (which should be valid for the loaded program) is guessed from the file extension.
Outputs the current Module preprocessing state to a file named Module_opt.ext, where Module is the current module.
Reads the code of FileName and its preprocessing unit, and sets it as the current module.
Reads the code of the list of file names FileNameList (and their preprocessing units), and sets them as the current modules.
Returns on backtracking all available program transformation identifiers.
Performs transformation Trans on the current module.
Checks assertions w.r.t. analysis information, obtains from domain/1 which analyses were run.
Analyzes the current module with Analysis. If the intermod flag is not off, this predicate may call module/1.
Transformation is a valid transformation identifier.
Analysis is a valid analysis identifier.