-- SMLD.model -- last edited by Satterthwaite, August 5, 1983 10:26 am LET @OSBasics.model!2606162530 IN LET @CedarBasics.model!2606162699 IN LET @ViewersBasics.model!2606162906 IN LET [ BcdDefs: TYPE~@BcdDefs.bcd!d2f897b3ab9e[], BcdOps: TYPE~@BcdOps.bcd!99c46fb8f9fd[], --CedarExporterImpl: TYPE~@CedarExporterImpl.bcd[NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL,NIL], 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, 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 [ &options: STRING~"js"; CS: TYPE~@CS.mesa!2605449547*[]*[]; CSImpl: CS~@CSImpl.mesa!2605890644*[]*[]; SMTree: TYPE Tree~@SMTree.mesa!2604931446*[]*[]; SMTreeOps: TYPE~@SMTreeOps.mesa!2603033237*[]*[]; SMTreeOpsImpl: SMTreeOps~@SMTreeImpl.mesa!2603033256*[]*[]; SMLDriver: TYPE~@SMLDriver.mesa!2604941280*[]*[]; SMCommentTable: TYPE~@SMCommentTable.mesa!2597874636*[]*[]; SMCommentTableOps: TYPE~@SMCommentTableOps.mesa!2597937680*[]*[]; SMCommentTableOpsImpl: SMCommentTableOps~ @SMCommentTableImpl.mesa!2597937602*[]*[]; SMOps: TYPE~@SMOps.mesa!2605460850*[]*[]; SMUtil: TYPE~@SMUtil.mesa!2602164972*[]*[]; SMFI: TYPE~@SMFI.mesa!2605552186*[]*[]; ModelParser ~ REC [ SMParseTable: TYPE ParseTable~@SMParseTable.mesa!2604931491*[]*[]; [SMParseData: TYPE, SMParseDataImpl: SMParseData]~@SMParseData.bcd[]; SMP1: TYPE~@SMP1.mesa!2605797168*[]*[]; SMP1Impl: SMP1~ @SMScannerImpl.mesa!2603993346*[]*[Atoms~AtomImpl] + @SMParserImpl.mesa!2605798045*[]*[] + @SMTreeBuildImpl.mesa!2604931478*[]*[]; [SMUtilImpl: SMUtil, SMOpsImpl: SMOps]~@SMReaderImpl.mesa!2605456800*[]*[] ]; SMOpsImpl: SMOps ~ ModelParser.SMOpsImpl; SMUtilImpl: SMUtil~ModelParser.SMUtilImpl + @SMPrettyImpl.mesa!2604959146*[]*[]; SMTypeCons: TYPE~@SMTypeCons.mesa!2604854211*[]*[]; SMTypeConsImpl: SMTypeCons~@SMTypeConsImpl.mesa!2604854389*[]*[]; SMFIOps: TYPE~@SMFIOps.mesa!2605456938*[]*[]; SMEval: TYPE~@SMEval.mesa!2602777539*[]*[]; SMBcd: TYPE~@SMBcd.mesa!2601933974*[]*[]; FileParser ~ REC [ CtoSParseTable: TYPE ParseTable~@CtoSParseTable.mesa!2603735838*[]*[]; [CtoSParseData: TYPE, CtoSParseDataImpl: CtoSParseData]~@CtoSParseData.bcd[]; CtoSP1: TYPE~@CtoSP1.mesa!2605797159*[]*[]; CtoSP1Impl: CtoSP1~ @CtoSScannerImpl.mesa!2605797134*[]*[] + @CtoSParserImpl.mesa!2605798035*[]*[] + @CtoSTreeBuildImpl.mesa!2604854510*[]*[]; SMFIOpsImpl: SMFIOps~@SMFIImpl.mesa!2606057411*[]*[]]; SMFIOpsImpl: SMFIOps~FileParser.SMFIOpsImpl; BcdStamps: TYPE~@BcdStamps.mesa!2605456626*[]*[]; BcdStampsImpl: BcdStamps~@BcdStampsImpl.mesa!2605890442*[]*[]; SMEvalImpl: SMEval~@SMEvalImpl.mesa!2606058828*[]*[]; SMProj: TYPE~@SMProj.mesa!2605458043*[]*[]; SMLoad: TYPE~@SMLoad.mesa!2605460046*[]*[]; SMVal: TYPE~@SMVal.mesa!2606058523*[]*[]; SMValImpl: SMVal~@SMValImpl.mesa!2606058723*[]*[]; ParticularTable: TYPE~@SMParticularTable.mesa!2606225801*[]*[]; ParticularTableImpl: ParticularTable~NIL; OrderedSymbolTable: TYPE~@OrderedSymbolTable.mesa!2583283111*[]*[]; OrderedSymbolTableImpl: OrderedSymbolTable~ @RedBlackTreeImpl.mesa!2583283170*[]*[]; SMProjImpl: SMProj~@SMProjImpl.mesa!2606225814*[]*[]; SMComp: TYPE~@SMComp.mesa!2605102706*[]*[]; SMCompImpl: SMComp~@SMCompImpl.mesa!2605888394*[]*[]; SMLDriverImpl: SMLDriver ~ REC [ SMLoadImpl: SMLoad~@SMLoadImpl.mesa!2605479509*[]*[]; SMFakeBcd: TYPE~@SMFakeBcd.mesa!2600630636*[]*[]; SMFakeBcdImpl: SMFakeBcd~@SMFakeBcdImpl.mesa!2605456023*[]*[]; SMLDriverImpl: SMLDriver~@SMLDriverImpl.mesa!2606229864*[]*[] ].SMLDriverImpl; SMBcdImpl: SMBcd~@SMBcdImpl.mesa!2605549306*[]*[]; SMDF: TYPE~@SMDF.mesa!2600697937*[]*[]; SMDFImpl: SMDF~@DummySMDFImpl.mesa!2600701844*[]*[]; SML: CONTROL~@SMIntImpl.mesa!2606057368*[]*[] ]