mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-19 19:33:46 +00:00
Estimated hours taken: 1 Replace occurrences of "INSA" by "INSA de Rennes" since Morphine is an "INSA de Rennes" software, not an "INSA" one. *: */*: /s/INSA/INSA de Rennes/ scripts/exec_mercury_program: Remove some useless I/O wrapping of Mercury execution runs. source/collect.op: Improve a litte bit the documentation of collect/2.
125 lines
5.4 KiB
Prolog
125 lines
5.4 KiB
Prolog
%------------------------------------------------------------------------------%
|
|
% Copyright (C) 1999 INRIA/INSA de Rennes.
|
|
% This file may only be copied under the terms of the GNU Library General
|
|
% Public License - see the file License in the Morphine distribution.
|
|
%
|
|
% Authors : Erwan Jahier <jahier@irisa.fr>,
|
|
% Mireille Ducassé <ducasse@irisa.fr>
|
|
%
|
|
% This file loads the Morphine files. It is loaded from the load_morphine.pl.
|
|
|
|
|
|
:- module(morphine).
|
|
|
|
|
|
/*
|
|
** Caution : the order of compilation is relevant!
|
|
** At least for the scenario handler.
|
|
*/
|
|
|
|
:-
|
|
getenv('MERCURY_MORPHINE_DIR', MorphineDir),
|
|
append_strings(MorphineDir, "/source/morphinefiles/", MorphinefilesStr),
|
|
append_strings(MorphineDir, "/source/", SourceStr),
|
|
|
|
% compile the *.op files
|
|
append_strings(SourceStr, "util.pl", Util),
|
|
compile(Util, morphine),
|
|
|
|
append_strings(MorphinefilesStr, "autoload.load", AutoloadLoad),
|
|
append_strings(MorphinefilesStr, "scenario.load", ScenarioLoad),
|
|
append_strings(MorphinefilesStr, "scenario_handler.load", ScenarioHLoad),
|
|
append_strings(MorphinefilesStr, "parameter.load", ParameterLoad),
|
|
append_strings(MorphinefilesStr, "translate.load", TranslateLoad),
|
|
append_strings(MorphinefilesStr, "error.load", ErrorLoad),
|
|
append_strings(MorphinefilesStr, "types.load", TypesLoad),
|
|
append_strings(MorphinefilesStr, "make.load", MakeLoad),
|
|
append_strings(MorphinefilesStr, "help.load", HelpLoad),
|
|
append_strings(MorphinefilesStr, "morphine_kernel.load", MorphineLoad),
|
|
append_strings(MorphinefilesStr, "coprocess.load", CoprocessLoad),
|
|
append_strings(MorphinefilesStr, "exec_control.load", ExecLoad),
|
|
append_strings(MorphinefilesStr, "current_arg.load", Current_argLoad),
|
|
append_strings(MorphinefilesStr, "current_slots.load", Current_slotsLoad),
|
|
append_strings(MorphinefilesStr, "event_attributes.load", EventLoad),
|
|
append_strings(MorphinefilesStr, "forward_move.load", ForwardLoad),
|
|
append_strings(MorphinefilesStr, "display.load", DisplayLoad),
|
|
append_strings(MorphinefilesStr, "browse.load", BrowseLoad),
|
|
append_strings(MorphinefilesStr, "interactive_queries.load", IQLoad),
|
|
append_strings(MorphinefilesStr, "source.load", SourceLoad),
|
|
append_strings(MorphinefilesStr, "step_by_step.load", StepLoad),
|
|
append_strings(MorphinefilesStr, "collect.load", CollectLoad),
|
|
append_strings(MorphinefilesStr, "control_flow.load", CFLoad),
|
|
|
|
append_strings(SourceStr, "autoload.op", AutoloadOp),
|
|
append_strings(SourceStr, "interface.op", InterfaceOp),
|
|
append_strings(SourceStr, "error.op", ErrorOp),
|
|
append_strings(SourceStr, "help.op", HelpOp),
|
|
append_strings(SourceStr, "make.op", Makeop),
|
|
append_strings(SourceStr, "scenario.op", ScenarioOp),
|
|
append_strings(SourceStr, "scenario_handler.op", ScenarioHOp),
|
|
append_strings(SourceStr, "types.op", TypesOp),
|
|
append_strings(SourceStr, "translate.op", TranslateOp),
|
|
append_strings(SourceStr, "parameter.op", ParameterOp),
|
|
append_strings(SourceStr, "morphine_kernel.op", MorphineOp),
|
|
append_strings(SourceStr, "coprocess.op", CoprocessOp),
|
|
append_strings(SourceStr, "exec_control.op", ExecOp),
|
|
append_strings(SourceStr, "current_arg.op", Current_argOp),
|
|
append_strings(SourceStr, "current_slots.op", Current_slotsOp),
|
|
append_strings(SourceStr, "event_attributes.op", EventOp),
|
|
append_strings(SourceStr, "forward_move.op", ForwardOp),
|
|
append_strings(SourceStr, "browse.op", BrowseOp),
|
|
append_strings(SourceStr, "interactive_queries.op", IQOp),
|
|
append_strings(SourceStr, "display.op", DisplayOp),
|
|
append_strings(SourceStr, "source.op", SourceOp),
|
|
append_strings(SourceStr, "step_by_step.op", StepOp),
|
|
append_strings(SourceStr, "collect.op", CollectOp),
|
|
append_strings(SourceStr, "control_flow.op", CFOp),
|
|
|
|
compile([ScenarioHOp, ErrorOp, Makeop, ParameterOp, ScenarioOp,
|
|
AutoloadOp, TranslateOp, TypesOp]),
|
|
|
|
assert(current_options([active, _, global])),
|
|
setval(already_global, no), %% XXX [md] pas completement satisfaisant
|
|
|
|
compile([ScenarioHLoad, ErrorLoad, MakeLoad, ParameterLoad, ScenarioLoad,
|
|
AutoloadLoad, TranslateLoad, TypesLoad]),
|
|
initialize_parameters(single, scenario_handler, morphine),
|
|
initialize_parameters(multiple, scenario_handler, morphine),
|
|
|
|
compile(InterfaceOp),
|
|
|
|
compile([HelpOp, HelpLoad]),
|
|
initialize_parameters(single, help, morphine),
|
|
initialize_parameters(multiple, help, morphine),
|
|
|
|
compile([MorphineOp, ForwardOp, Current_slotsOp, Current_argOp,
|
|
EventOp, ExecOp, CoprocessOp, BrowseOp, IQOp]),
|
|
compile([MorphineLoad, ForwardLoad, Current_slotsLoad, Current_argLoad,
|
|
EventLoad, ExecLoad, CoprocessLoad, BrowseLoad, IQLoad]),
|
|
initialize_parameters(single, 'morphine_kernel', morphine),
|
|
initialize_parameters(multiple, 'morphine_kernel', morphine),
|
|
|
|
compile([DisplayOp, DisplayLoad]),
|
|
initialize_parameters(single, 'display' , morphine),
|
|
initialize_parameters(multiple, 'display', morphine),
|
|
|
|
compile([StepOp, StepLoad]),
|
|
initialize_parameters(single, 'step_by_step', morphine),
|
|
initialize_parameters(multiple, 'step_by_step', morphine),
|
|
|
|
compile([CollectOp, CollectLoad]),
|
|
initialize_parameters(single, 'collect', morphine),
|
|
initialize_parameters(multiple, 'collect', morphine),
|
|
|
|
compile([CFOp, CFLoad]),
|
|
initialize_parameters(single, 'control_flow', morphine),
|
|
initialize_parameters(multiple, 'control_flow', morphine),
|
|
|
|
compile([SourceOp, SourceLoad]),
|
|
initialize_parameters(single, 'source', morphine),
|
|
initialize_parameters(multiple, 'source', morphine),
|
|
|
|
setval(already_global, yes). %% XXX [md] pas completement satisfaisant
|
|
|
|
|