-- MT.model, 20-Jun-83 17:37:55 PDT
-- Last Edited by: Nichols, July 13, 1983 6:32 pm
OPEN @BasicCedar.model!2591112381;
OPEN @BasicPilot.model!2579461154;
MT: PROC [FileIOImpl: FileIO,
	IOImpl: IO,
	ListImpl: List,
	RopeImpl: Rope,
	RuntimeImpl: Runtime,
	SafeStorageImpl: SafeStorage,
	UserExecImpl: UserExec]
RETURNS [] [
MTParseTable: TYPE ParseTable~@MTParseTable.mesa;
MTP1: TYPE~@MTP1.mesa[IO, MTParseTable, Rope];
LET [MTParseData: TYPE, MTParseDataImpl: MTParseData] ~ @MTParseData.bcd;
MTTreeOps: TYPE~@MTTreeOps.mesa[MTP1, Rope];
Lex822: TYPE~@Lex822.mesa[Rope, IO];
MTP1Impl1: MTP1~@MTScannerImpl.mesa[];
MTP1Impl2: MTP1~@MTParserImpl.mesa[IO, MTP1, MTParseTable, 
            SafeStorage, MTP1Impl, SafeStorageImpl];
MTP1Impl3: MTP1~@MTEvalImpl.mesa[];
MTP1Impl: MTP1~(MTP1Impl1) PLUS (MTP1Impl2) PLUS (MTP1Impl3);
MTTreeOpsImpl: MTTreeOps~@MTTreeOpsImpl.mesa[];
Lex822Impl: Lex822~@Lex822Impl.mesa[Ascii, Lex822, Rope, IO, 
            IOImpl, RopeImpl];
MTMiscOps: TYPE~@MTMiscOps.mesa[];
MTMiscOpsImpl: MTMiscOps~@MTMiscOpsImpl.mesa[];
MTDriver: CONTROL~@MTDriver.mesa[]
]