module Module_dependencies:module dependency resolution
val process_files :
string list ->
(string * bool) list ->
(string * string * (Ast.defs * Ast.lex_skips) * bool) list
process_files allow_reorder lib_dirs filesparses the files in list
files. It checks for
importstatements and tries to automatically load the needed files for those as well. Therefore, files are searched in the directories
allow_reorderis set, it may also reorder the order of file in
filesto 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.