MimosaPackaged:
SAFE
PROC [cmd: Commander.Handle]
RETURNS [result: REF ¬ NIL, msg: ROPE ¬ NIL] ~ {
in: STREAM ¬ IO.RIS[cmd.commandLine];
out: STREAM ¬ cmd.out;
data: REF ¬ cmd.procData.clientData;
retval: SSUDefs.JobStatus;
[result, msg] ¬ MimosaInterface.DoCompile[in, out, data];
SELECT result
FROM
$Failure => {
IF Rope.Equal[msg, "W (Interface)"] THEN retval ¬ successfulDefWithWarnings;
IF Rope.Equal[msg, "W (Implementation)"] THEN retval ¬ successfulImplWithWarnings
ELSE retval ¬ mimosaCompileFailed};
$Definition => retval ¬ successfulDef;
$Implementation => retval ¬ successfulImpl;
ENDCASE => retval ¬ unknown;
XRExitWorld[ORD[retval]];
};