UNPKG

@ciao-lang/ts-ciao-interface

Version:

Simple Ciao interface for node.

168 lines 46.4 kB
<!DOCTYPE HTML><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><meta name="theme-color" content="#273f79"/><link rel="stylesheet" href="lpdoc.css" type="text/css"/><script type="text/javascript" src="lpdoc.js"></script><title>The CiaoPP low-level interface &mdash; The CiaoPP Program Processor v1.5</title></head><body><div class="lpdoc-page fixleftbar"><a href="#" id="sidebar-toggle-button" class="lpdoc-navbutton"><span id="sidebar-button-arrow">&#9776;</span></a><div id="sidebar" class="lpdoc-sidebar"><div style="height: 40px; margin-left: auto; margin-right: auto"><img src="ciao-logo_autofig.png" width=auto height=100%></div><div class="lpdoc-nav"><span class="lpdoc-on-right"><a class="lpdoc-navbutton" href="part_usage.html">&#x2191;</a><a class="lpdoc-navbutton" href="auto_interface.html">&#x2190;</a><a class="lpdoc-navbutton" href="ciaoppcl.html">&#x2192;</a><a class="lpdoc-navbutton" href="ciaopp_ref_mansearch.html">&#x1F50D;</a></span><span><a href="ciaopp_ref_manfulltoc.html">TOC</a></span></div><hr></hr><ul class="lpdoc-itemize-sectpath"><li><a href="ciaopp_ref_man.html">The CiaoPP Program Processor</a> &raquo;<br/> </li><li><a href="part_usage.html">PART I - Using CiaoPP</a> &raquo;<br/> </li><li><a href=""><strong>The CiaoPP low-level interface</strong></a></li></ul><hr></hr><em>ON THIS PAGE</em><ul><li><a href="#Usage and interface">Usage and interface</a></li><li><a href="#Documentation on exports">Documentation on exports</a></li><li><a href="#Documentation on multifiles">Documentation on multifiles</a></li><li><a href="#Documentation on internals">Documentation on internals</a></li><li><a href="#Documentation on imports">Documentation on imports</a></li></ul></div><div class="lpdoc-main"><div id=""><h1>The CiaoPP low-level interface</h1><a class="lpdoc-idx-anchor" href="ciaopp_ref_mansearch.html#ciaopp"></a> <strong>Author(s):</strong> <a class="lpdoc-idx-anchor" id="The Ciao Development Team" href="ciaopp_ref_mansearch.html#The Ciao Development Team">The Ciao Development Team</a>.<p> 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).<p>The basic commands are: <ul> <li><tt>module(File)</tt>: loads a (main) module into the preprocessor.<p><li><tt>analyze(A)</tt>: perform analysis <span class="lpdoc-var">A</span> (see <a href="part_domains.html">Available abstract domains</a>) on the loaded module.<p><li><tt>acheck</tt>: check assertions (using current analysis information).<p><li><tt>transform(T)</tt>: perform transformation <span class="lpdoc-var">T</span> on the loaded module.<p><li><tt>output</tt>: output a file with the current program state (i.e., the output includes transformations, analysis info, assertion checking, etc. as controlled by the flags set and the actions performed).<p><li><tt>output(File)</tt>: same as <a class="lpdoc-idx-anchor" id="0" href="#output/0"><tt>output/0</tt></a> but output to <span class="lpdoc-var">File</span>. </ul> <p>The analyses and transformations are controlled by preprocessor flags. These flags can be modified or consulted with:<p><ul> <li><tt>current_pp_flag(F, V)</tt>: consult the current value <span class="lpdoc-var">V</span> of flag <span class="lpdoc-var">F</span>. <li><tt>set_pp_flag(F, V)</tt>: change the value of flag <span class="lpdoc-var">F</span> to <span class="lpdoc-var">V</span>. <li><tt>pp_flag(F)</tt>: <span class="lpdoc-var">F</span> is a preprocessor flag. <li><tt>dump_flags(K)</tt>: dump the set of flags identified by <span class="lpdoc-var">K</span> (<tt>all</tt> for all). </ul> <p>Other commands useful when developing or debugging CiaoPP:<p><ul> <li><tt>show_dump(File)</tt>: displays the content of a .dump file.<p><li><tt>show_types</tt>: display all current types (inferred or read). </ul> <br/><div id="Usage and interface"><h2>Usage and interface</h2><div class="lpdoc-cartouche"><ul><li><strong>Library usage:</strong><br/><tt>:- use_module(ciaopp(ciaopp)).</tt></ul></div></div><div id="Documentation on exports"><h2>Documentation on exports</h2><div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="current_pp_flag/2" href="ciaopp_ref_mansearch.html#current_pp_flag/2">current_pp_flag/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>current_pp_flag(Name,Value)</tt> </span><p>Preprocess flag <span class="lpdoc-var">Name</span> has the value <span class="lpdoc-var">Value</span>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="1" href="#pp_flag/1"><tt>pp_flag/1</tt></a>)</span><span><span class="lpdoc-var">Name</span> is a valid preprocessor flag. </span> <li><em>The following properties should hold upon exit:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="2" href="#valid_flag_value/2"><tt>valid_flag_value/2</tt></a>)</span><span><span class="lpdoc-var">Value</span> is a valid value for preprocessor flag <span class="lpdoc-var">Name</span>. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="current_pp_flag/2" href="ciaopp_ref_mansearch.html#current_pp_flag/2">current_pp_flag/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>current_pp_flag(Name,Value)</tt> </span><p>Preprocess flag <span class="lpdoc-var">Name</span> has the value <span class="lpdoc-var">Value</span>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="3" href="#pp_flag/1"><tt>pp_flag/1</tt></a>)</span><span><span class="lpdoc-var">Name</span> is a valid preprocessor flag. </span> <li><em>The following properties should hold upon exit:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="4" href="#valid_flag_value/2"><tt>valid_flag_value/2</tt></a>)</span><span><span class="lpdoc-var">Value</span> is a valid value for preprocessor flag <span class="lpdoc-var">Name</span>. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="set_pp_flag/2" href="ciaopp_ref_mansearch.html#set_pp_flag/2">set_pp_flag/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>set_pp_flag(Name,Value)</tt> </span><p>Sets <span class="lpdoc-var">Value</span> for preprocessor flag <span class="lpdoc-var">Name</span>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="5" href="#pp_flag/1"><tt>pp_flag/1</tt></a>)</span><span><span class="lpdoc-var">Name</span> is a valid preprocessor flag. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="6" href="#valid_flag_value/2"><tt>valid_flag_value/2</tt></a>)</span><span><span class="lpdoc-var">Value</span> is a valid value for preprocessor flag <span class="lpdoc-var">Name</span>. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="push_pp_flag/2" href="ciaopp_ref_mansearch.html#push_pp_flag/2">push_pp_flag/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>push_pp_flag(Flag,Value)</tt> </span><p>Sets <span class="lpdoc-var">Value</span> for preprocessor flag <span class="lpdoc-var">Flag</span>, storing the current value to restore it with <a class="lpdoc-idx-anchor" id="7" href="#pop_pp_flag/1"><tt>pop_pp_flag/1</tt></a>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="8" href="#pp_flag/1"><tt>pp_flag/1</tt></a>)</span><span><span class="lpdoc-var">Flag</span> is a valid preprocessor flag. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="9" href="#valid_flag_value/2"><tt>valid_flag_value/2</tt></a>)</span><span><span class="lpdoc-var">Value</span> is a valid value for preprocessor flag <span class="lpdoc-var">Flag</span>. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="pop_pp_flag/1" href="ciaopp_ref_mansearch.html#pop_pp_flag/1">pop_pp_flag/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>pop_pp_flag(Flag)</tt> </span><p>Restores the value of the preprocessor flag <span class="lpdoc-var">Flag</span> previous to the last non-canceled <a class="lpdoc-idx-anchor" id="10" href="#push_pp_flag/2"><tt>push_pp_flag/2</tt></a> on it.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="11" href="#pp_flag/1"><tt>pp_flag/1</tt></a>)</span><span><span class="lpdoc-var">Flag</span> is a valid preprocessor flag. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="pp_flag/1" href="ciaopp_ref_mansearch.html#pp_flag/1">pp_flag/1</a></div><div class="lpdoc-deftext">Valid flags: <div class="lpdoc-alert"> (This list is outdated -- see source code for a complete description) </div> <p><ul> <li>for the output: <ul> <li><tt>analysis_info</tt> (<tt>off, on</tt>) Whether to output the results of analysis. <li><tt>point_info</tt> (<tt>off,on</tt>) Whether to output analysis information for program points within clauses. <li><tt>collapse_ai_vers</tt> (<tt>off, on</tt>) to output all the versions of call/success patterns inferred by analysis or just one version (summing-up all of them). <li><tt>type_output</tt> (<tt>defined, all</tt>) to output the types inferred for predicates in terms only of types defined by the user or including types inferred anew. <li><tt>simplify_checks</tt> (<tt>on, off</tt>) to output simplified check assertions after verification or not. </ul> <li>for analysis: <ul> <li><tt>fixpoint</tt> (<tt>plai, dd, di, check_di, check_di2, check_di3, check_di4</tt>) The kind of fixpoint computation used. <li><tt>multi_success</tt> (<tt>off, on</tt>) Whether to allow success multivariance. <li><tt>widen</tt> (<tt>off, on</tt>) Whether to perform widening. <li><tt>intermod</tt> (<tt>off, on, auto</tt>) The policy for inter-modular analysis. <li><tt>success_policy</tt> (<tt>best, first, all, top, botfirst, botbest, botall, bottom</tt>) The policy for obtaining success information for imported predicates during inter-modular analysis. <li><tt>entry_policy</tt> (<tt>all, top_level, force, force_assrt</tt>) The policy for obtaining entry call patterns for exported predicates during inter-modular analysis. <li><tt>process_libraries</tt> (<tt>on, off, no_engine</tt>) Whether to perform the analysis of Ciao system libraries when a modular user program is analyzed. <li><tt>initial_guess</tt> (<tt>botfirst, botbest, botall, bottom</tt>) The policy for obtaining initial guess when computing the analysis of a predicate from the current module. <li><tt>use_check_assrt</tt> (<tt>off, on</tt>) Whether to use check assertions for imported predicates as if they were trust assertions. <li><tt>depth</tt> (a non-negative integer) The maximum depth of abstractions in analyses based on term depth. <li><tt>type_eval</tt> (<tt>on, off</tt>) Whether to attempt concrete evaluation of types being inferred. <li><tt>type_precision</tt> (<tt>defined, all</tt>) to use during type analysis only types defined by the user or also types inferred anew. <li><tt>entry_points_auto</tt> (<tt>none, calls, all</tt>) What kind of assertions to use as entry points: <a class="lpdoc-idx-anchor" id="12" href="assertions_doc.html#entry/1"><tt>entry/1</tt></a> will always be used, <a class="lpdoc-idx-anchor" id="13" href="assertions_doc.html#calls/1"><tt>calls/1</tt></a> and <a class="lpdoc-idx-anchor" id="14" href="assertions_doc.html#calls/2"><tt>calls/2</tt></a> will be used if the flag is <strong>not</strong> set to <tt>none</tt>; and <a class="lpdoc-idx-anchor" id="15" href="assertions_doc.html#success/1"><tt>success/1</tt></a>, <a class="lpdoc-idx-anchor" id="16" href="assertions_doc.html#success/2"><tt>success/2</tt></a>, <a class="lpdoc-idx-anchor" id="17" href="assertions_doc.html#comp/1"><tt>comp/1</tt></a> and <a class="lpdoc-idx-anchor" id="18" href="assertions_doc.html#comp/2"><tt>comp/2</tt></a> will be used if the flag is set to <tt>all</tt>. <li><tt>entry_calls_scope</tt> (<tt>exported, all</tt>) What non-<tt>entry</tt> assertions to use as entry points. If the flag takes the value <tt>exported</tt>, only assertions from exported predicates will be used; if it takes the value <tt>all</tt>, exported and non-exported assertions will be used. </ul> <li>for partial evaluation: <ul> <li><tt>global_control</tt> (<tt>off, id, inst, hom_emb</tt>) The abstraction function to use to control the creation of new patterns to analyze as a result of unfolding. <li><tt>comp_rule</tt> (<tt>leftmost, safe_jb, bind_ins_jb, no_sideff_jb, jump_builtin, eval_builtin, local_emb</tt>) The computation rule for the selection of atoms in a goal. <li><tt>local_control</tt> (<tt>off, orig, inst, det, det_la, depth, first_sol, first_sol_d, all_sol, hom_emb, hom_emb_anc, hom_emb_as, df_hom_emb_as, df_tree_hom_emb, df_hom_emb</tt>) The unfolding rule to use during partial evaluation. <li><tt>unf_depth</tt> (a non-negative integer) The depth limit for unfolding. <li><tt>rem_use_cls</tt> (<tt>off, pre, post, both</tt>) Whether to remove useless clauses. <li><tt>abs_spec_defs</tt> (<tt>off, rem, exec, all</tt>) Whether to exploit abstract substitutions while obtaining specialized definitions on unfolding. <li><tt>filter_nums</tt> (<tt>off, on</tt>) Whether to filter away numbers in partial evaluation. <li><tt>exec_unif</tt> (<tt>off, on</tt>) Whether to execute unifications during specialization time or not. <li><tt>pres_inf_fail</tt> (<tt>off, on</tt>) Whether infinite failure should be preserved in the specialized program. <li><tt>part_concrete</tt> (<tt>off, mono, multi</tt>) The kind of partial concretization to be performed. </ul> <li>for parallelization and granularity control: <ul> <li><tt>granularity_threshold</tt> (a non-negative integer) The threshold on computational cost at which parallel execution pays off. </ul> </ul> </div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">REGTYPE</span><a class="lpdoc-idx-anchor" id="flag_value/1" href="ciaopp_ref_mansearch.html#flag_value/1">flag_value/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>flag_value(V)</tt> </span><p><span class="lpdoc-var">V</span> is a value for a flag.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PROPERTY</span><a class="lpdoc-idx-anchor" id="valid_flag_value/2" href="ciaopp_ref_mansearch.html#valid_flag_value/2">valid_flag_value/2</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>valid_flag_value(Name,Value)</tt> </span><p><span class="lpdoc-var">Value</span> is a valid value for preprocessor flag <span class="lpdoc-var">Name</span>.</p><ul class="lpdoc-itemize-minus"><li><em>If the following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="19" href="#pp_flag/1"><tt>pp_flag/1</tt></a>)</span><span><span class="lpdoc-var">Name</span> is a valid preprocessor flag. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="20" href="#flag_value/1"><tt>flag_value/1</tt></a>)</span><span><span class="lpdoc-var">Value</span> is a value for a flag. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="is_library/1" href="ciaopp_ref_mansearch.html#is_library/1">is_library/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="21" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="get_data/2" href="ciaopp_ref_mansearch.html#get_data/2">get_data/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="22" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="clean_ciaopp_db/1" href="ciaopp_ref_mansearch.html#clean_ciaopp_db/1">clean_ciaopp_db/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="23" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="clean_all_ciaopp_db/0" href="ciaopp_ref_mansearch.html#clean_all_ciaopp_db/0">clean_all_ciaopp_db/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="24" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="dump/2" href="ciaopp_ref_mansearch.html#dump/2">dump/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="25" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="dump_dir/1" href="ciaopp_ref_mansearch.html#dump_dir/1">dump_dir/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="26" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="add_to_db/1" href="ciaopp_ref_mansearch.html#add_to_db/1">add_to_db/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="27" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="show_dump/1" href="ciaopp_ref_mansearch.html#show_dump/1">show_dump/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="28" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="restore/2" href="ciaopp_ref_mansearch.html#restore/2">restore/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="29" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="restore/1" href="ciaopp_ref_mansearch.html#restore/1">restore/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="30" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="dump/1" href="ciaopp_ref_mansearch.html#dump/1">dump/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="31" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="gen_and_load_libcache/0" href="ciaopp_ref_mansearch.html#gen_and_load_libcache/0">gen_and_load_libcache/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="32" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="ensure_libcache_loaded/0" href="ciaopp_ref_mansearch.html#ensure_libcache_loaded/0">ensure_libcache_loaded/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="33" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="write_one_type/2" href="ciaopp_ref_mansearch.html#write_one_type/2">write_one_type/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="34" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="output_by_ext/2" href="ciaopp_ref_mansearch.html#output_by_ext/2">output_by_ext/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="35" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="output_ext/1" href="ciaopp_ref_mansearch.html#output_ext/1">output_ext/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="36" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="output/2" href="ciaopp_ref_mansearch.html#output/2">output/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="37" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="output/1" href="ciaopp_ref_mansearch.html#output/1">output/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>output(File)</tt> </span><p>Outputs to <span class="lpdoc-var">File</span> the current module preprocessing state with the default output options. If unbound, <span class="lpdoc-var">File</span> is unified with a default name (encoding the preprocessing steps). Equivalent to <tt>output(File,[])</tt>.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="output/0" href="ciaopp_ref_mansearch.html#output/0">output/0</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><p>Outputs the current module preprocessing state with the default output options. Equivalent to <tt>output(File,[])</tt>.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="get_output_path/2" href="ciaopp_ref_mansearch.html#get_output_path/2">get_output_path/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="38" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="pop_history/1" href="ciaopp_ref_mansearch.html#pop_history/1">pop_history/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="39" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="push_history/1" href="ciaopp_ref_mansearch.html#push_history/1">push_history/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="40" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="cleanup_history/0" href="ciaopp_ref_mansearch.html#cleanup_history/0">cleanup_history/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="41" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="is_library/1" href="ciaopp_ref_mansearch.html#is_library/1">is_library/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="42" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="assrt_used_as_entry/2" href="ciaopp_ref_mansearch.html#assrt_used_as_entry/2">assrt_used_as_entry/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="43" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="entry_assertion/3" href="ciaopp_ref_mansearch.html#entry_assertion/3">entry_assertion/3</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="44" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="module/1" href="ciaopp_ref_mansearch.html#module/1">module/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage 1:</span><span class="lpdoc-usage-decl"><tt>module(FileName)</tt> </span><p>Reads the code of <span class="lpdoc-var">FileName</span> and its preprocessing unit, and sets it as the current module.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="45" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">FileName</span> is currently a term which is not a free variable. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="46" href="ciaopp_ref_mansearch.html#sourcename/1"><tt>sourcename/1</tt></a>)</span><span><span class="lpdoc-var">FileName</span> is a source name. </span> </ul><p><span class="lpdoc-usage-header">Usage 2:</span><span class="lpdoc-usage-decl"><tt>module(FileNameList)</tt> </span><p>Reads the code of the list of file names <span class="lpdoc-var">FileNameList</span> (and their preprocessing units), and sets them as the current modules.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="47" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">FileNameList</span> is currently a term which is not a free variable. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="48" href="basic_props.html#list/2"><tt>list/2</tt></a>)</span><span><span class="lpdoc-var">FileNameList</span> is a list of <span class="lpdoc-var">atm</span>s. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="language_output_extension/2" href="ciaopp_ref_mansearch.html#language_output_extension/2">language_output_extension/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="49" href="frontend_driver.html"><tt>frontend_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="transform/1" href="ciaopp_ref_mansearch.html#transform/1">transform/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage 1:</span><span class="lpdoc-usage-decl"><tt>transform(Trans)</tt> </span><p>Returns on backtracking all available program transformation identifiers.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="50" href="ciaopp_ref_mansearch.html#var/1"><tt>var/1</tt></a>)</span><span><span class="lpdoc-var">Trans</span> is a free variable. </span> <li><em>The following properties should hold upon exit:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="51" href="#transformation/1"><tt>transformation/1</tt></a>)</span><span><span class="lpdoc-var">Trans</span> is a valid transformation identifier. </span> </ul><p><span class="lpdoc-usage-header">Usage 2:</span><span class="lpdoc-usage-decl"><tt>transform(Trans)</tt> </span><p>Performs transformation <span class="lpdoc-var">Trans</span> on the current module.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="52" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">Trans</span> is currently a term which is not a free variable. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="53" href="#transformation/1"><tt>transformation/1</tt></a>)</span><span><span class="lpdoc-var">Trans</span> is a valid transformation identifier. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="cleanup_for_codegen/0" href="ciaopp_ref_mansearch.html#cleanup_for_codegen/0">cleanup_for_codegen/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="54" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="clean_analysis_info0/0" href="ciaopp_ref_mansearch.html#clean_analysis_info0/0">clean_analysis_info0/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="55" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="acheck/2" href="ciaopp_ref_mansearch.html#acheck/2">acheck/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="56" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="acheck/0" href="ciaopp_ref_mansearch.html#acheck/0">acheck/0</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><p>Checks assertions w.r.t. analysis information, obtains from <a class="lpdoc-idx-anchor" id="57" href="ciaopp_ref_mansearch.html#domain/1"><tt>domain/1</tt></a> which analyses were run.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="get_assert_count/1" href="ciaopp_ref_mansearch.html#get_assert_count/1">get_assert_count/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="58" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="acheck_summary/2" href="ciaopp_ref_mansearch.html#acheck_summary/2">acheck_summary/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="59" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="acheck_summary/1" href="ciaopp_ref_mansearch.html#acheck_summary/1">acheck_summary/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="60" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="ctcheck_sum/1" href="ciaopp_ref_mansearch.html#ctcheck_sum/1">ctcheck_sum/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="61" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="analyze1/2" href="ciaopp_ref_mansearch.html#analyze1/2">analyze1/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="62" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="analyze/1" href="ciaopp_ref_mansearch.html#analyze/1">analyze/1</a></div><div class="lpdoc-deftext"><p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>analyze(Analysis)</tt> </span><p>Analyzes the current module with <span class="lpdoc-var">Analysis</span>. If the intermod flag is not off, this predicate may call <a class="lpdoc-idx-anchor" id="63" href="#module/1"><tt>module/1</tt></a>.</p><ul class="lpdoc-itemize-minus"><li><em>The following properties should hold at call time:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="64" href="ciaopp_ref_mansearch.html#nonvar/1"><tt>nonvar/1</tt></a>)</span><span><span class="lpdoc-var">Analysis</span> is currently a term which is not a free variable. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="65" href="#analysis/1"><tt>analysis/1</tt></a>)</span><span><span class="lpdoc-var">Analysis</span> is a valid analysis identifier. </span> <li><em>The following properties should hold globally:</em><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="66" href="native_props_nfdet_doc.html#not_fails/1"><tt>not_fails/1</tt></a>)</span><span>All the calls of the form <span class="lpdoc-var">analyze(Analysis)</span> do not fail. </span><br/><span class="lpdoc-on-right"> (<a class="lpdoc-idx-anchor" id="67" href="native_props_nfdet_doc.html#no_choicepoints/1"><tt>no_choicepoints/1</tt></a>)</span><span>A call to <span class="lpdoc-var">analyze(Analysis)</span> does not leave new choicepoints. </span> </ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="last_domain_used/1" href="ciaopp_ref_mansearch.html#last_domain_used/1">last_domain_used/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="68" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="assert_domain/1" href="ciaopp_ref_mansearch.html#assert_domain/1">assert_domain/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="69" href="analyze_driver.html"><tt>analyze_driver</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="menu_branch/4" href="ciaopp_ref_mansearch.html#menu_branch/4">menu_branch/4</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="70" href="auto_interface.html"><tt>auto_interface</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="menu_branch/3" href="ciaopp_ref_mansearch.html#menu_branch/3">menu_branch/3</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="71" href="auto_interface.html"><tt>auto_interface</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="true/2" href="ciaopp_ref_mansearch.html#true/2">true/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="72" href="auto_interface.html"><tt>auto_interface</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="true1/1" href="ciaopp_ref_mansearch.html#true1/1">true1/1</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="73" href="auto_interface.html"><tt>auto_interface</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="functor1/2" href="ciaopp_ref_mansearch.html#functor1/2">functor1/2</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="74" href="auto_interface.html"><tt>auto_interface</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="customize_and_preprocess/0" href="ciaopp_ref_mansearch.html#customize_and_preprocess/0">customize_and_preprocess/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="75" href="auto_interface.html"><tt>auto_interface</tt></a> (see the corresponding documentation for details).<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">(UNDOC_REEXPORT)</span><a class="lpdoc-idx-anchor" id="customize/0" href="ciaopp_ref_mansearch.html#customize/0">customize/0</a></div><div class="lpdoc-deftext"> Imported from <a class="lpdoc-idx-anchor" id="76" href="auto_interface.html"><tt>auto_interface</tt></a> (see the corresponding documentation for details).<br/></div></div><p> </div><div id="Documentation on multifiles"><h2>Documentation on multifiles</h2><div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="typeslib_flag/1" href="ciaopp_ref_mansearch.html#typeslib_flag/1">typeslib_flag/1</a></div><div class="lpdoc-deftext">No further documentation available for this predicate. The predicate is <em>multifile</em>.<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="typeslib_is_user_type/1" href="ciaopp_ref_mansearch.html#typeslib_is_user_type/1">typeslib_is_user_type/1</a></div><div class="lpdoc-deftext">No further documentation available for this predicate. The predicate is <em>multifile</em>.<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="typeslib_is_visible/2" href="ciaopp_ref_mansearch.html#typeslib_is_visible/2">typeslib_is_visible/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate. The predicate is <em>multifile</em>.<br/></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PREDICATE</span><a class="lpdoc-idx-anchor" id="typeslib_interesting_type/2" href="ciaopp_ref_mansearch.html#typeslib_interesting_type/2">typeslib_interesting_type/2</a></div><div class="lpdoc-deftext">No further documentation available for this predicate. The predicate is <em>multifile</em>.<br/></div></div><p> </div><div id="Documentation on internals"><h2>Documentation on internals</h2><div><div class="lpdoc-defname"><span class="lpdoc-predtag">PROPERTY</span><a class="lpdoc-idx-anchor" id="transformation/1" href="ciaopp_ref_mansearch.html#transformation/1">transformation/1</a></div><div class="lpdoc-deftext">The current supported transformations are in <a href="part_transformations.html">Available program transformations</a>.<p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>transformation(Transformation)</tt> </span><p><span class="lpdoc-var">Transformation</span> is a valid transformation identifier.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p> <div><div class="lpdoc-defname"><span class="lpdoc-predtag">PROPERTY</span><a class="lpdoc-idx-anchor" id="analysis/1" href="ciaopp_ref_mansearch.html#analysis/1">analysis/1</a></div><div class="lpdoc-deftext">The current supported analyses are in <a href="part_domains.html">Available abstract domains</a>.<p><span class="lpdoc-usage-header">Usage:</span><span class="lpdoc-usage-decl"><tt>analysis(Analysis)</tt> </span><p><span class="lpdoc-var">Analysis</span> is a valid analysis identifier.</p><ul class="lpdoc-itemize-minus"></ul></div></div><p> </div><div id="Documentation on imports"><h2>Documentation on imports</h2>This module has the following direct dependencies:<ul class="lpdoc-itemize-minus"><li><em>Application modules:</em><br/><a class="lpdoc-idx-anchor" id="77" href="frontend_driver.html"><tt>frontend_driver</tt></a>, <a class="lpdoc-idx-anchor" id="78" href="transform_driver.html"><tt>transform_driver</tt></a>, <a class="lpdoc-idx-anchor" id="79" href="analyze_driver.html"><tt>analyze_driver</tt></a>, <a class="lpdoc-idx-anchor" id="80" href="auto_interface.html"><tt>auto_interface</tt></a>, <a class="lpdoc-idx-anchor" id="81" href="preprocess_flags.html"><tt>preprocess_flags</tt></a>. <li><em>System library modules:</em><br/><a class="lpdoc-idx-anchor" id="82" href="ciaopp_ref_mansearch.html#typeslib"><tt>typeslib</tt></a>, <a class="lpdoc-idx-anchor" id="83" href="ciaopp_ref_mansearch.html#p_unit_db"><tt>p_unit_db</tt></a>, <a class="lpdoc-idx-anchor" id="84" href="ciaopp_ref_mansearch.html#messages"><tt>messages</tt></a>, <a class="lpdoc-idx-anchor" id="85" href="ciaopp_ref_mansearch.html#system"><tt>system</tt></a>. <li><em>Internal (engine) modules:</em><br/><a class="lpdoc-idx-anchor" id="86" href="ciaopp_ref_mansearch.html#term_basic"><tt>term_basic</tt></a>, <a class="lpdoc-idx-anchor" id="87" href="ciaopp_ref_mansearch.html#arithmetic"><tt>arithmetic</tt></a>, <a class="lpdoc-idx-anchor" id="88" href="ciaopp_ref_mansearch.html#atomic_basic"><tt>atomic_basic</tt></a>, <a class="lpdoc-idx-anchor" id="89" href="ciaopp_ref_mansearch.html#basiccontrol"><tt>basiccontrol</tt></a>, <a class="lpdoc-idx-anchor" id="90" href="ciaopp_ref_mansearch.html#exceptions"><tt>exceptions</tt></a>, <a class="lpdoc-idx-anchor" id="91" href="ciaopp_ref_mansearch.html#term_compare"><tt>term_compare</tt></a>, <a class="lpdoc-idx-anchor" id="92" href="ciaopp_ref_mansearch.html#term_typing"><tt>term_typing</tt></a>, <a class="lpdoc-idx-anchor" id="93" href="ciaopp_ref_mansearch.html#debugger_support"><tt>debugger_support</tt></a>, <a class="lpdoc-idx-anchor" id="94" href="basic_props.html"><tt>basic_props</tt></a>, <a class="lpdoc-idx-anchor" id="95" href="ciaopp_ref_mansearch.html#runtime_control"><tt>runtime_control</tt></a>. <li><em>Packages:</em><br/><a class="lpdoc-idx-anchor" id="96" href="ciaopp_ref_mansearch.html#prelude"><tt>prelude</tt></a>, <a class="lpdoc-idx-anchor" id="97" href="ciaopp_ref_mansearch.html#initial"><tt>initial</tt></a>, <a class="lpdoc-idx-anchor" id="98" href="ciaopp_ref_mansearch.html#condcomp"><tt>condcomp</tt></a>, <a class="lpdoc-idx-anchor" id="99" href="assertions_doc.html"><tt>assertions</tt></a>, <a class="lpdoc-idx-anchor" id="100" href="ciaopp_ref_mansearch.html#assertions/assertions_basic"><tt>assertions/assertions_basic</tt></a>, <a class="lpdoc-idx-anchor" id="101" href="ciaopp_ref_mansearch.html#ciaopp(ciaopp_options)"><tt>ciaopp(ciaopp_options)</tt></a>. </ul></div></div><div class="lpdoc-footer">Generated with LPdoc using Ciao</div></div><div class="lpdoc-clearer"></div></div></body></html>