Module Instantiator
module CU := Compilation_unittype unit_info = {ui_unit : CU.t;ui_arg_descr : Lambda.arg_descr option;ui_format : Lambda.main_module_block_format;
}val instantiate :
src:Misc.filepath ->
args:Misc.filepath list ->
Misc.filepath ->
expected_extension:string ->
read_unit_info:(Misc.filepath -> Instantiator.unit_info) ->
compile:
(source_file:Misc.filepath ->
output_prefix:string ->
compilation_unit:CU.t ->
runtime_args:Translmod.runtime_arg list ->
main_module_block_repr:Lambda.module_representation ->
arg_descr:Lambda.arg_descr option ->
unit) ->
unittype error = | Not_compiled_as_argument of {compilation_unit : CU.t;filename : Misc.filepath;base_unit : CU.t;
}| Incorrect_target_filename of {expected_basename : Misc.filepath;expected_extension : string;actual_basename : Misc.filepath;compilation_unit : CU.t;
}| Not_parameterised of {compilation_unit : CU.t;filename : Misc.filepath;
}| Missing_argument of {param : Global_module.Parameter_name.t;
}| No_such_parameter of {base_unit : CU.t;available_params : Global_module.Parameter_name.t list;param : Global_module.Parameter_name.t;arg : Global_module.Name.t;
}| Repeated_parameter of {param : Global_module.Parameter_name.t;arg1 : CU.t;arg2 : CU.t;
}
exception Error of Instantiator.errorval report_error : Stdlib.Format.formatter -> Instantiator.error -> unit