Module Module_dependencies


module Module_dependencies: sig .. end
module dependency resolution

val process_files : bool ->
string list ->
(string * bool) list ->
(string * string * (Ast.defs * Ast.lex_skips) * bool) list
process_files allow_reorder lib_dirs files parses the files in list files. It checks for import statements and tries to automatically load the needed files for those as well. Therefore, files are searched in the directories lib_dirs. If allow_reorder is set, it may also reorder the order of file in files to satisfy dependencies.

The result is a list of tuples (module_name, filename, ast, needs_output). The flag needs_output states, whether an output file should be produced. It is set to false for all automatically imported modules. Since one might to also want to add library modules manually, the input files is a list of file names and need-output flags as well.