-- TestSML.model
-- last edited by Satterthwaite, August 2, 1983 3:10 pm
LET @OSBasics.model!H IN
LET @CedarBasics.model!H IN
LET @ViewersBasics.model!H IN
LET [
BcdDefs: TYPE~@BcdDefs.bcd[],
BcdOps: TYPE~@BcdOps.bcd[],
--CedarExporterImpl: TYPE~@CedarExporterImpl.bcd[];
CedarLinkerOps: TYPE~@CedarLinkerOps.bcd[],
CompilerOps: TYPE~@CompilerOps.bcd[],
FileSegment: TYPE~@FileSegment.bcd[],
FileParms: TYPE~@FileParms.bcd[],
Frame: TYPE~@Frame.bcd[],
Loader: TYPE~@Loader.bcd[],
LoaderPrivate: TYPE~@LoaderPrivate.bcd[],
MiscAlpha: TYPE~@MiscAlpha.bcd[],
Mopcodes: TYPE~@Mopcodes.bcd[],
PilotLoaderOps: TYPE~@PilotLoaderOps.bcd[],
PilotLoadStateFormat: TYPE~@PilotLoadStateFormat.bcd[],
PilotLoadStateOps: TYPE~@PilotLoadStateOps.bcd[],
PrincOpsRuntime: TYPE~@PrincOpsRuntime.bcd[],
RTLoader: TYPE~@RTLoader.bcd[],
RTOS: TYPE~@RTOS.bcd[],
RuntimeInternal: TYPE~@RuntimeInternal.bcd[],
SDDefs: TYPE~@SDDefs.bcd[],
Trap: TYPE~@Trap.bcd[],
UECP: TYPE~@UECP.bcd[]
] IN
LAMBDA [
AtomImpl: Atom,
BcdOpsImpl: BcdOps,
CedarExporterImplImpl: @CedarExporterImpl.bcd[NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL],
CedarLinkerOpsImpl: CedarLinkerOps,
CompilerOpsImpl: CompilerOps,
ContainersImpl: Containers,
DirectoryImpl: Directory,
FileImpl: File,
FileIOImpl: FileIO,
FileStreamImpl: FileStream,
FrameImpl: Frame,
HeapImpl: Heap,
IOImpl: IO,
InlineImpl: Inline,
LabelsImpl: Labels,
ListImpl: List,
LoaderImpl: Loader,
LoaderPrivateImpl: LoaderPrivate,
MBQueueImpl: MBQueue,
MenusImpl: Menus,
PilotLoaderOpsImpl: PilotLoaderOps,
PilotLoadStateOpsImpl: PilotLoadStateOps,
PrincOpsRuntimeImpl: PrincOpsRuntime,
ProcessImpl: Process,
RopeImpl: Rope,
RopeInlineImpl: RopeInline,
RTLoaderImpl: RTLoader,
RTOSImpl: RTOS,
RulesImpl: Rules,
RuntimeImpl: Runtime,
RuntimeInternalImpl: RuntimeInternal,
SafeStorageImpl: SafeStorage,
SpaceImpl: Space,
StreamImpl: Stream,
TimeImpl: Time,
TrapImpl: Trap,
TypeScriptImpl: TypeScript,
UECPImpl: UECP,
UserExecImpl: UserExec,
ViewerEventsImpl: ViewerEvents,
ViewerIOImpl: ViewerIO,
ViewerOpsImpl: ViewerOps,
ViewerToolsImpl: ViewerTools,
WindowManagerImpl: WindowManager
] => [] IN
REC [
CS: TYPE~@CS.mesa!2605449547[File,IO,Rope,Stream,TimeStamp,"js"][];
CSImpl: CS~@CSImpl.mesa!2605890644[CS,DCSFileTypes,Directory,Environment,
File,FileStream,Inline,IO,Rope,SafeStorage,Stream,TimeStamp,"js"][DirectoryImpl,
FileImpl,FileStreamImpl,InlineImpl,IOImpl,RopeImpl,SafeStorageImpl];
SMTree: TYPE Tree~@SMTree.mesa!2604931446[Rope,TimeStamp,"js"][];
SMTreeOps: TYPE~@SMTreeOps.mesa!2603033237[SMTree,"js"][];
SMTreeOpsImpl: SMTreeOps~@SMTreeImpl.mesa!2603033256[SMTree,SMTreeOps,"js"][];
SMLDriver: TYPE~@SMLDriver.mesa!2604941280[IO,SMTree,SMTreeOps,"js"][];
SMCommentTable: TYPE~@SMCommentTable.mesa!2597874636[Rope,"js"][];
SMCommentTableOps: TYPE~@SMCommentTableOps.mesa!2597937680[SMCommentTable,
"js"][];
SMCommentTableOpsImpl: SMCommentTableOps~@SMCommentTableImpl.mesa!2597937602
[SMCommentTable,SMCommentTableOps,"js"][];
SMOps: TYPE~@SMOps.mesa!2605460850[IO,SMCommentTableOps,SMLDriver,SMTree,
SMTreeOps,"js"][];
SMUtil: TYPE~@SMUtil.mesa!2602164972[IO,SMCommentTableOps,SMOps,SMTree,
"js"][];
SMFI: TYPE~@SMFI.mesa!2605552186[File,Rope,TimeStamp,SMTree,"js"][];
ModelParser ~ REC [
ParseTable: TYPE~@SMParseTable.mesa!2604931491["js"][];
[SMParseData: TYPE, SMParseDataImpl: SMParseData]~@SMParseData.bcd[];
SMP1: TYPE~@SMP1.mesa!2605797168[IO,ParseTable,SMCommentTable,SMOps,
"js"][];
SMP1Impl: SMP1~
@SMScannerImpl.mesa!2603993346[Ascii,Atom,IO,SMP1,ParseTable,
Rope,RopeInline,SMCommentTable,SMCommentTableOps,SMOps,SMTree,"js"][AtomImpl,
IOImpl,RopeImpl,RopeInlineImpl,SMCommentTableOpsImpl]
+
@SMParserImpl.mesa!2605798045[IO,SMP1,ParseTable,SMOps,"js"][IOImpl,SMP1Impl]
+
@SMTreeBuildImpl.mesa!2604931478[Atom,SMP1,ParseTable,Rope,SMTree,SMTreeOps,
SMCommentTable,SMOps,"js"][AtomImpl,RopeImpl,SMTreeOpsImpl];
[SMUtilImpl: SMUtil, SMOpsImpl: SMOps]~@SMReaderImpl.mesa!2605456800[CS,
IO,SMP1,Runtime,Rope,SMCommentTable,SMCommentTableOps,SMFI,SMLDriver,SMOps,
SMParseData,SMUtil,SMTree,SMTreeOps,"js"][CSImpl,IOImpl,SMP1Impl,RopeImpl,
RuntimeImpl,SMCommentTableOpsImpl,SMLDriverImpl,SMTreeOpsImpl,SMParseDataImpl]
];
SMOpsImpl: SMOps ~ ModelParser.SMOpsImpl;
SMUtilImpl: SMUtil~
ModelParser.SMUtilImpl
+
@SMPrettyImpl.mesa!2604959146[Atom,CS,IO,Rope,SMCommentTable,
SMCommentTableOps,SMFI,SMUtil,SMTree,SMTreeOps,"js"][AtomImpl,CSImpl,IOImpl,
RopeImpl,SMCommentTableOpsImpl,SMTreeOpsImpl];
SMTypeCons: TYPE~@SMTypeCons.mesa!2604854211[Rope,SMTree,SMTreeOps,TimeStamp,
"js"][];
SMTypeConsImpl: SMTypeCons~@SMTypeConsImpl.mesa!2604854389[Rope,SMTree,
SMTreeOps,SMTypeCons,TimeStamp,"js"][RopeImpl,SMTreeOpsImpl];
SMFIOps: TYPE~@SMFIOps.mesa!2605456938[SMFI,SMTree,SMOps,Rope,TimeStamp,
"js"][];
SMEval: TYPE~@SMEval.mesa!2602777539[Rope,SMOps,SMTree,"js"][];
SMBcd: TYPE~@SMBcd.mesa!2601933974[IO,Rope,SMOps,SMTree,"js"][];
FileParser ~ REC [
ParseTable: TYPE~@CtoSParseTable.mesa!2603735838["js"][];
[CtoSParseData: TYPE, CtoSParseDataImpl: CtoSParseData]~@CtoSParseData.bcd[];
CtoSP1: TYPE~@CtoSP1.mesa!2605797159[ParseTable,IO,Rope,SMCommentTable,
SMOps,"js"][];
CtoSP1Impl: CtoSP1~
@CtoSScannerImpl.mesa!2605797134[Environment,IO,CtoSP1,
ParseTable,Rope,SMOps,"js"][IOImpl,RopeImpl]
+
@CtoSParserImpl.mesa!2605798035[IO,CtoSP1,ParseTable,
SMOps,"js"][IOImpl,CtoSP1Impl]
+
@CtoSTreeBuildImpl.mesa!2604854510[Atom,CtoSP1,ParseTable,Rope,SMTree,
SMTypeCons,SMOps,"js"][AtomImpl,CtoSP1Impl,RopeImpl,SMTypeConsImpl];
SMFIOpsImpl: SMFIOps~@SMFIImpl.mesa!2606057411[Atom,BcdDefs,BcdOps,CS,CtoSP1,
CtoSParseData,Directory,File,FileIO,FileSegment,FileStream,IO,Rope,Runtime,
SMEval,SMFI,SMFIOps,SMOps,SMTree,SMTreeOps,SMTypeCons,SMUtil,Space,TimeStamp,
UECP,UserExec,"js"][AtomImpl,BcdOpsImpl,CSImpl,CtoSP1Impl,CtoSParseDataImpl,
DirectoryImpl,FileIOImpl,FileStreamImpl,IOImpl,RopeImpl,RuntimeImpl,SMEvalImpl,
SMTreeOpsImpl,SMTypeConsImpl,SMUtilImpl,SpaceImpl,UECPImpl,UserExecImpl]];
SMFIOpsImpl: SMFIOps~FileParser.SMFIOpsImpl;
BcdStamps: TYPE~@BcdStamps.mesa!2605456626[CompilerOps,Environment,TimeStamp,
"js"][];
BcdStampsImpl: BcdStamps~@BcdStampsImpl.mesa!2605890442[BcdStamps,CompilerOps,
Environment,Inline,TimeStamp,"js"][];
SMEvalImpl: SMEval~@SMEvalImpl.mesa!2606058828[Atom,CS,FileIO,IO,Rope,SMBcd,
SMEval,SMFI,SMFIOps,SMOps,SMUtil,SMTree,SMTreeOps,"js"][AtomImpl,CSImpl,
FileIOImpl,IOImpl,RopeImpl,SMBcdImpl,SMFIOpsImpl,SMOpsImpl,
SMUtilImpl,SMTreeOpsImpl];
SMProj: TYPE~@SMProj.mesa!2605458043[CompilerOps,File,FileSegment,Rope,
TimeStamp,"js"][];
SMLoad: TYPE~@SMLoad.mesa!2605460046[BcdDefs,BcdOps,File,IO,MiscAlpha,
Mopcodes,PilotLoaderOps,PilotLoadStateOps,PrincOps,Rope,TimeStamp,"js"][];
SMVal: TYPE~@SMVal.mesa!2606058523[SMLoad,SMOps,SMProj,SMTree,SMTreeOps,
"js"][];
SMValImpl: SMVal~@SMValImpl.mesa!2606058723[SMOps,SMTree,SMTreeOps,SMVal,
"js"][SMTreeOpsImpl];
ParticularTable: TYPE~@SMParticularTable.mesa!2603813739[Environment,SMProj,
TimeStamp,"js"][];
OrderedSymbolTable: TYPE~@OrderedSymbolTable.mesa!2583283111[Environment,
ParticularTable,"js"][ParticularTableImpl];
OrderedSymbolTableImpl: OrderedSymbolTable~@RedBlackTreeImpl.mesa!2583283170
[Environment,OrderedSymbolTable,"js"][OrderedSymbolTableImpl];
[ParticularTableImpl: ParticularTable, SMProjImpl: SMProj]~@SMProjImpl.mesa!2605460751
[BcdDefs,BcdOps,BcdStamps,CompilerOps,CS,Directory,Environment,File,FileSegment,
OrderedSymbolTable,ParticularTable,Rope,SMProj,Space,TimeStamp,"js"][BcdStampsImpl,
CSImpl,DirectoryImpl,OrderedSymbolTableImpl,RopeImpl,SpaceImpl];
SMComp: TYPE~@SMComp.mesa!2605102706[IO,SMOps,SMTree,"js"][];
SMCompImpl: SMComp~@SMCompImpl.mesa!2605888394[Atom,BcdStamps,CompilerOps,
CS,Directory,File,FileParms,FileStream,Heap,IO,Loader,LongString,Rope,Runtime,
SMComp,SMFI,SMOps,SMProj,SMTree,SMTreeOps,SMVal,Stream,Time,TimeStamp,
ViewerClasses,ViewerOps,WindowManager,"js"][AtomImpl,BcdStampsImpl,
CompilerOpsImpl,CSImpl, DirectoryImpl,FileStreamImpl,HeapImpl,IOImpl,LoaderImpl,
RopeImpl,RuntimeImpl,SMProjImpl,SMTreeOpsImpl,SMValImpl,StreamImpl,
TimeImpl,ViewerOpsImpl,WindowManagerImpl];
SMLDriverImpl: SMLDriver ~ REC [
SMLoadImpl: SMLoad~@SMLoadImpl.mesa!2605479509[Atom,BcdDefs,BcdOps,
CedarLinkerOps,Directory,Environment,File,Frame,Inline,IO,LoaderPrivate,
PilotLoaderOps,PilotLoadStateOps,PrincOps,PrincOpsRuntime,Rope,RTOS,
Runtime,RuntimeInternal,SDDefs,SMLoad,Space,TimeStamp,Trap,"js"]
[AtomImpl,BcdOpsImpl,CedarLinkerOpsImpl,DirectoryImpl,FrameImpl,InlineImpl,
IOImpl,LoaderPrivateImpl,PilotLoaderOpsImpl,PrincOpsRuntimeImpl,
RopeImpl,RTOSImpl,RuntimeImpl,RuntimeInternalImpl,SpaceImpl,TrapImpl];
SMFakeBcd: TYPE~@SMFakeBcd.mesa!2600630636[IO,PilotLoadStateFormat,Rope,
SMTree,Space,"js"][];
SMFakeBcdImpl: SMFakeBcd~@SMFakeBcdImpl.mesa!2605456023[BcdDefs,BcdOps,
Directory,Environment,File,IO,CS,PilotLoadStateFormat,PilotLoadStateOps,
PrincOps,Rope,RopeInline,SMFakeBcd,SMLoad,SMTree,SMTreeOps,SMVal,Space,
"js"][BcdOpsImpl,CSImpl,DirectoryImpl,SMLoadImpl,SMTreeOpsImpl,SMValImpl,
IOImpl,PilotLoadStateOpsImpl,RopeInlineImpl,SpaceImpl];
SMLDriverImpl: SMLDriver~@SMLDriverImpl.mesa!2606058693[Atom,BcdDefs,BcdOps,
CedarLinkerOps,CS,Directory,File,IO,List,Loader,LoaderPrivate,PilotLoaderOps,
PilotLoadStateFormat,PilotLoadStateOps,PrincOps,Process,Rope,RTLoader,Runtime,
RuntimeInternal,SMFakeBcd,SMFI,SMLDriver,SMLoad,SMProj,SMTree,SMTreeOps,
SMVal,Space,Time,TimeStamp,"js"][AtomImpl,BcdOpsImpl,CedarLinkerOpsImpl,
CSImpl,DirectoryImpl,IOImpl,ListImpl,LoaderImpl,LoaderPrivateImpl,PilotLoaderOpsImpl,
PilotLoadStateOpsImpl,ProcessImpl,RTLoaderImpl,RuntimeImpl,RuntimeInternalImpl,
SMFakeBcdImpl,SMLoadImpl,SMProjImpl,SMTreeOpsImpl,SMValImpl,SpaceImpl,TimeImpl]
].SMLDriverImpl;
SMBcdImpl: SMBcd~@SMBcdImpl.mesa!2605549306[CS,FileIO,IO,Rope,SMBcd,
SMCommentTableOps,SMEval,SMFI,SMFIOps,SMOps,SMProj,SMTree,SMTreeOps,
SMUtil,TimeStamp,"js"][CSImpl,FileIOImpl,IOImpl,RopeImpl,SMEvalImpl,
SMFIOpsImpl,SMProjImpl,SMTreeOpsImpl,SMUtilImpl];
SMDF: TYPE~@SMDF.mesa!2600697937[SMOps,SMTree,"js"][];
SMDFImpl: SMDF~@DummySMDFImpl.mesa!2600701844[SMDF,SMOps,SMTree,"js"][];
SML: CONTROL~@SMIntImpl.mesa!2606057368[Buttons,Containers,CS,Directory,
FileIO,IO,Labels,List,MBQueue,Menus,Rope,Rules,SMBcd,SMComp,SMDF,SMEval,
SMFI,SMFIOps,SMLDriver,SMOps,SMProj,SMUtil,SMVal,SMTree,SMTreeOps,TypeScript,
ViewerClasses,ViewerEvents,ViewerIO,ViewerOps,ViewerTools,"js"][ContainersImpl,
CSImpl,DirectoryImpl,FileIOImpl,MBQueueImpl,IOImpl,LabelsImpl,ListImpl,
MenusImpl,RopeImpl,RulesImpl,SMBcdImpl,SMCompImpl,SMDFImpl,
SMEvalImpl,SMFIOpsImpl,SMLDriverImpl,SMOpsImpl,SMProjImpl,
SMUtilImpl,SMValImpl,SMTreeOpsImpl,TypeScriptImpl,
ViewerEventsImpl,ViewerOpsImpl,ViewerIOImpl,ViewerToolsImpl]
]