MimosaInterface.mesa
Copyright Ó 1988, 1991 by Xerox Corporation. All rights reserved.
Russ Atkinson (RRA) March 24, 1988 3:55:27 pm PST
DoCompile:
PUBLIC
PROC [in:
IO.
STREAM, out:
IO.
STREAM, clientData:
REF]
RETURNS [result:
REF ¬
NIL, msg: Rope.
ROPE ¬
NIL];
Performs a Mimosa compilation.
The stream in gives the command input.
The stream out receives interactive output.
The clientData is an ATOM, with the following being supported:
$MimosaServer => run as a server (no FileViewerOps usage)
$MimosaDebug => run assuming a debugger (force D switch to be true)
$MimosaOnly => no code generation (force M switch to be true)
$MimosaDebugOnly => debug, no code generation (force D & M switches to be true)
$Mimosa: normal compilation requested
other case reserved for extensions
The result will be one of the following:
NIL: if no files were compiled
$Definition: if just definitions files were compiled successfully
$Implementation: if just implementations files were compiled successfully
$Mixed: if definitions and implementations files were compiled successfully
$Failure: if an error or warning was detected for any compilation
The msg will give some information if result = $Failure. Some of the standard messages are:
"A": compilation aborted by user action
"F": errors detected in the compilation
"W": warnings detected in the compilation
"S": success
Other messages will indicate problems with file access or other problems that need lengthy explanations.