-- JaMCommand.mesa
-- Last changed by Bill Paxton, 30-Jan-82 10:05:26
DIRECTORY
CVExecutive USING [AddCommand],
IOStream USING [Handle, CreateOutputStreamToRope, GetOutputStreamRope, Put, text, int, char],
TypeScript USING [TS, PutRope],
Rope USING [ROPE],
JaMInternal USING [Frame],
JaMOps USING [NewFrame],
JaMTypeScript USING [InitTool];
JaMCommand: PROGRAM
IMPORTS IOStream, JaMOps, JaMTypeScript, CVExecutive, TypeScript = {
count: INTEGER ← 1;
InitToolCommand: PROC [ts: TypeScript.TS, param: Rope.ROPE] = { OPEN IOStream;
name: Rope.ROPE ← " JaM ";
IF JaMTypeScript.InitTool[viewerName: name, param: param].already THEN {
frame: JaMInternal.Frame ← JaMOps.NewFrame[];
h: Handle ← CreateOutputStreamToRope[];
Put[h,text[" JaM"],int[count ← count+1],char[' ]];
name ← GetOutputStreamRope[h];
[] ← JaMTypeScript.InitTool[name,frame,param,TRUE] };
TypeScript.PutRope[ts, name];
TypeScript.PutRope[ts, "TypeScript created.\n"] };
CVExecutive.AddCommand["JaM", InitToolCommand, "Create a typescript for JaM"];
}.