Dragoman.mesa
Created by Bertrand Serlet, October 17, 1985 4:13:48 pm PDT
Last Edited by: Serlet, April 26, 1985 11:40:41 pm PST
Pradeep Sindhu October 19, 1985 11:40:23 pm PDT
DIRECTORY
DragomanPrivate,
CacheModels,
Atom, Commander, IO, Rope;
Dragoman: CEDAR DEFINITIONS =
BEGIN
ROPE: TYPE = Rope.ROPE;
STREAM: TYPE = IO.STREAM;
Machine: TYPE = DragomanPrivate.Machine;
Handle: TYPE = REF HandleRec; -- a REF to the data for a particular instance of the sample tool; multiple instances can be created.
HandleRec: TYPE = RECORD [ -- the data for a particular tool instance
modelCache: BOOL,
m: Machine,
line: ROPE,
workingDir: Atom.PropList,
tsOut: STREAM];
Start: PROC [backingFile: ROPE ← NIL, instr, data: DragomanPrivate.CacheIndex ← 1, traceOps: BOOL ← FALSE, countOps: BOOL ← FALSE, recordXferOut: BOOL ← TRUE, modelCache: BOOL ← TRUE, flushOnCall: BOOL ← FALSE] RETURNS [handle: Handle];
SetInstructionCache: PROC [handle: Handle, number: DragomanPrivate.CacheIndex, cache: CacheModels.Cache];
SetDataCache: PROC [handle: Handle, number: DragomanPrivate.CacheIndex, cache: CacheModels.Cache];
MarkGFI: PROC [handle: Handle, name1, name2, name3, name4, name5, name6: ROPE ← NIL];
MarkGFIs: PROC [handle: Handle, names: LIST OF ROPE ← NIL];
Run: PROC [handle: Handle, name: ROPE, recordXferOut: BOOL ← TRUE];
End: PROC [handle: Handle];
END.