-- Model.model, 18-Feb-83 12:47:09 PST OPEN @BasicPilot.model!2579461154; OPEN @BasicCedar.model!2591112381; OPEN @Viewers.model!2587919365; TTYIO: TYPE~@TTYIO.bcd; MessageWindow: TYPE~@MessageWindow.bcd; ViewerIO: TYPE~@ViewerIO.bcd; UnsafeStorage: TYPE~@UnsafeStorage.bcd; UserCredentialsUnsafe: TYPE~@UserCredentialsUnsafe.bcd; UserProfile: TYPE~@UserProfile.bcd; ProcessOperations: TYPE~@ProcessOperations.bcd; Table: TYPE~@Table.bcd; BcdDefs: TYPE~@BcdDefs.bcd; BcdOps: TYPE~@BcdOps.bcd; RTBcd: TYPE~@RTBcd.bcd; CompilerOps: TYPE~@CompilerOps.bcd; FileSegment: TYPE~@FileSegment.bcd; FileParms: TYPE~@FileParms.bcd; Feedback: TYPE~@Feedback.bcd; TemporarySpecialExecOps: TYPE~@TemporarySpecialExecOps.bcd; CIFS: TYPE~@CIFS.bcd; FileLookup: TYPE~@FileLookup.bcd; IFSFile: TYPE~@IFSFile.bcd; LeafSubr: TYPE~@LeafSubr.bcd; FileParms: TYPE~@FileParms.bcd; PilotLoadStateFormat: TYPE~@PilotLoadStateFormat.bcd; PilotLoadStateOps: TYPE~@PilotLoadStateOps.bcd; LowLoader: TYPE~@LowLoader.bcd; RTLoader: TYPE~@RTLoader.bcd; RTOS: TYPE~@RTOS.bcd; RuntimeInternal: TYPE~@RuntimeInternal.bcd; DateAndTimeUnsafe: TYPE~@DateAndTimeUnsafe.bcd; Format: TYPE~@Format.bcd; Segments: TYPE~@Segments.bcd; Storage: TYPE~@Storage.bcd; UnsafeSTP: TYPE~@UnsafeSTP.bcd; UnsafeSTPOps: TYPE~@UnsafeSTPOps.bcd; Strings: TYPE~@Strings.bcd; Dir: TYPE~@Dir.mesa!2571932252[CompilerOps, File, FileParms, LowLoader, TimeStamp]; DBStash: TYPE~@DBStash.mesa!2565629596[Dir, TimeStamp, UserExec]; Model: PROC [BcdOpsImpl: BcdOps, ButtonsImpl: Buttons, CIFSImpl: CIFS, CompilerOpsImpl: CompilerOps, ContainersImpl: Containers, ConvertUnsafeImpl: ConvertUnsafe, DateAndTimeUnsafeImpl: DateAndTimeUnsafe, DBStashImpl: DBStash, DirectoryImpl: Directory, ExecImpl: Exec, ExecOpsImpl: ExecOps, FileImpl: File, FileIOImpl: FileIO, FileLookupImpl: FileLookup, FileStreamImpl: FileStream, HeapImpl: Heap, IOImpl: IO, InlineImpl: Inline, LabelsImpl: Labels, LeafSubrImpl: LeafSubr, LowLoaderImpl: LowLoader, LongStringImpl: LongString, MenusImpl: Menus, MessageWindowImpl: MessageWindow, PilotLoadStateOpsImpl: PilotLoadStateOps, ProcessImpl: Process, RopeImpl: Rope, RopeInlineImpl: RopeInline, RTLoaderImpl: RTLoader, RTOSImpl: RTOS, RulesImpl: Rules, RuntimeImpl: Runtime, RuntimeInternalImpl: RuntimeInternal, SegmentsImpl: Segments, SpaceImpl: Space, StorageImpl: Storage, UnsafeSTPImpl: UnsafeSTP, UnsafeSTPOpsImpl: UnsafeSTPOps, StreamImpl: Stream, StringImpl: String, StringsImpl: Strings, SystemImpl: System, TemporarySpecialExecOpsImpl: TemporarySpecialExecOps, TimeImpl: Time, TransactionImpl: Transaction, TTYImpl: TTY, TTYIOImpl: TTYIO, TypeScriptImpl: TypeScript, UnsafeStorageImpl: UnsafeStorage, UserCredentialsUnsafeImpl: UserCredentialsUnsafe, UserExecImpl: UserExec, UserProfileImpl: UserProfile, UserTerminalImpl: UserTerminal, VFontsImpl: VFonts, ViewerEventsImpl: ViewerEvents, ViewerOpsImpl: ViewerOps, ViewerIOImpl: ViewerIO, ViewerToolsImpl: ViewerTools, WindowManagerImpl: WindowManager] RETURNS [] [ CharIO: TYPE~@CharIO.bcd; CharIOImpl: CharIO~@CharIOImpl.bcd[StringsImpl, StreamImpl, LongStringImpl]; CWF: TYPE~@CWF.bcd; CWFImpl: CWF~@CWFImpl.bcd[HeapImpl, InlineImpl, LongStringImpl, TimeImpl]; FQ: TYPE~@FQ.bcd; FQImpl: FQ~@FQImpl.bcd[ConvertUnsafeImpl, CWFImpl, DateAndTimeUnsafeImpl, FileLookupImpl, LongStringImpl, UnsafeSTPImpl, STPSubrImpl, SubrImpl]; Subr: TYPE~@Subr.bcd; SubrImpl: Subr~@SubrImpl.bcd[CWFImpl, DirectoryImpl, FileImpl, FileStreamImpl, HeapImpl, InlineImpl, IOImpl, LongStringImpl, RopeImpl, RopeInlineImpl, RuntimeImpl, SpaceImpl, StreamImpl, UnsafeStorageImpl, UserCredentialsUnsafeImpl, TransactionImpl]; STPSubr: TYPE~@STPSubr.bcd; STPSubrImpl: STPSubr~@STPSubrImpl.bcd[CIFSImpl, ConvertUnsafeImpl, CWFImpl, DirectoryImpl, FileImpl, FileStreamImpl, FQImpl, HeapImpl, InlineImpl, IOImpl, LongStringImpl, ProcessImpl, SpaceImpl, UnsafeSTPImpl, UnsafeSTPOpsImpl, StreamImpl, StringImpl, SubrImpl, UserCredentialsUnsafeImpl, UserTerminalImpl, TransactionImpl]; ProcBcds: TYPE~@ProcBcds.bcd; ProcBcdsImpl: ProcBcds~@ProcBcdsImpl.bcd[CWFImpl, DirectoryImpl, LeafSubrImpl, LongStringImpl, SpaceImpl, StringImpl, SubrImpl, TimeImpl, TransactionImpl]; MDMain: TYPE~@MDMain.mesa!2590354704[IO, Rope, Subr, TypeScript]; MDModel: TYPE~@MDModel.mesa!2590362188[CompilerOps, Dir, File, LowLoader, PilotLoadStateFormat, Space, Stream, Subr, TimeStamp, TypeScript]; MDDB: TYPE~@MDDB.mesa!2588191953[Dir, MDModel, Subr, TypeScript]; MDUtil: TYPE~@MDUtil.mesa!2571858984[ExecOps, File, MDModel, IO, Rope, Stream, TypeScript]; MDComp: TYPE~@MDComp.mesa!2588191974[IO, MDModel, Subr, TypeScript]; RComp: TYPE~@RComp.mesa!2571859031[IO, MDModel, TypeScript]; MoveFiles: TYPE~@MoveFiles.mesa!2588191355[IO, MDModel, Subr, TypeScript]; Symbols: TYPE~@Symbols.bcd; SymbolSegment: TYPE~@SymbolSegment.bcd; MDLoad: TYPE~@MDLoad.mesa!2588191932[IO, MDModel, Subr]; MDLoadImplA: MDLoad~@MDLoadImpl.mesa!2591827396[BcdDefs, BcdOps, CWF, Dir, Environment, File, Heap, IO, LowLoader, LongString, MDComp, MDLoad, MDMain, MDModel, PilotLoadStateOps, PrincOps, Process, RTOS, RTLoader, Runtime, RuntimeInternal, Space, Subr, System, Time, TimeStamp, BcdOpsImpl, CWFImpl, HeapImpl, LowLoaderImpl, LongStringImpl, MDCompImpl, MDLoadImpl, MDMainImpl, MDModelImpl, PilotLoadStateOpsImpl, ProcessImpl, RTLoaderImpl, RTOSImpl, RuntimeImpl, RuntimeInternalImpl, SpaceImpl, SubrImpl, SystemImpl, TimeImpl]; MDLoadImplB: MDLoad~@MDFakeBcdImpl.mesa!2590334635[BcdDefs, BcdOps, CWF, Dir, Environment, File, Inline, LowLoader, MDLoad, MDModel, PilotLoadStateOps, PrincOps, Space, Subr, BcdOpsImpl, CWFImpl, InlineImpl, LowLoaderImpl, MDModelImpl, PilotLoadStateOpsImpl, SpaceImpl, SubrImpl]; MDLoadImpl: MDLoad~(MDLoadImplA) PLUS (MDLoadImplB); MDDBImpl: MDDB~@MDDBImpl.mesa!2590334687[CWF, DBStash, Dir, Directory, File, FileStream, LongString, MDComp, MDDB, MDMain, MDModel, MoveFiles, ProcBcds, Space, Stream, Subr, Time, TimeStamp, TypeScript, CWFImpl, DBStashImpl, DirImpl, DirectoryImpl, FileStreamImpl, LongStringImpl, MDCompImpl, MDMainImpl, MDModelImpl, MoveFilesImpl, ProcBcdsImpl, SpaceImpl, StreamImpl, SubrImpl, TimeImpl, TypeScriptImpl]; MDUtilImpl: MDUtil~@MDUtilImpl.mesa!2590334976[Ascii, CWF, Dir, Directory, ExecOps, Feedback, File, FileStream, IO, LongString, MDModel, MDUtil, Rope, Runtime, Stream, Subr, TemporarySpecialExecOps, TimeStamp, TypeScript, CWFImpl, DirectoryImpl, ExecOpsImpl, FileStreamImpl, IOImpl, LongStringImpl, MDModelImpl, RopeImpl, RuntimeImpl, StreamImpl, SubrImpl, TemporarySpecialExecOpsImpl, TypeScriptImpl]; MDMainImpl: MDMain~@MDMainImpl.mesa!2591124622[ConvertUnsafe, CWF, DBStash, Dir, Directory, File, IO, LongString, MDComp, MDDB, MDLoad, MDMain, MDModel, MDUtil, MoveFiles, Process, Rope, RopeInline, STPSubr, Subr, Time, TypeScript, UserExec, ViewerClasses, ViewerEvents, ConvertUnsafeImpl, CWFImpl, DBStashImpl, DirImpl, DirectoryImpl, IOImpl, LongStringImpl, MDCompImpl, MDDBImpl, MDLoadImpl, MDModelImpl, MDUtilImpl, MoveFilesImpl, ProcessImpl, RopeInlineImpl, STPSubrImpl, SubrImpl, TimeImpl, TypeScriptImpl, UserExecImpl, ViewerEventsImpl]; ModelImpl: CONTROL~@ModelImpl.mesa!2593450600[Buttons, Containers, CWF, DBStash, Directory, File, FileIO, FileStream, IO, Labels, LowLoader, MDMain, MDUtil, Menus, Process, Rope, RopeInline, Rules, Runtime, Subr, Time, TypeScript, UserProfile, ViewerClasses, ViewerEvents, ViewerIO, ViewerOps, ViewerTools, ButtonsImpl, ContainersImpl, CWFImpl, DBStashImpl, DirectoryImpl, FileIOImpl, FileStreamImpl, IOImpl, LabelsImpl, LowLoaderImpl, MDMainImpl, MDUtilImpl, MenusImpl, ProcessImpl, RopeImpl, RopeInlineImpl, RulesImpl, RuntimeImpl, SubrImpl, TimeImpl, TypeScriptImpl, UserProfileImpl, ViewerEventsImpl, ViewerOpsImpl, ViewerIOImpl, ViewerToolsImpl]; DirImpl: Dir~@DirImpl.mesa!2555557973[CWF, Dir, Directory, File, MDModel, CWFImpl, DirectoryImpl, MDModelImpl]; MoveFilesImpl: MoveFiles~@MoveFilesImpl.mesa!2591116444[ConvertUnsafe, CWF, DateAndTimeUnsafe, Dir, Directory, File, FileStream, MDModel, MDUtil, MoveFiles, IO, STPSubr, Stream, Subr, Time, TypeScript, UnsafeSTP, ViewerClasses, ViewerOps, ConvertUnsafeImpl, CWFImpl, DateAndTimeUnsafeImpl, DirectoryImpl, FileImpl, FileStreamImpl, MDModelImpl, MDUtilImpl, UnsafeSTPImpl, STPSubrImpl, StreamImpl, SubrImpl, TimeImpl, TypeScriptImpl, ViewerOpsImpl]; MDModelImpl1: MDModel~@MDSupportImpl.mesa!2590336592[CompilerOps, CWF, Dir, Directory, Environment, File, Inline, LongString, MDModel, PilotLoadStateOps, Runtime, Space, String, Subr, TimeStamp, CWFImpl, DirectoryImpl, InlineImpl, LongStringImpl, MDModelImpl, RuntimeImpl, SpaceImpl, StringImpl, SubrImpl]; ModelParseTable: TYPE~@ModelParseTable.mesa!2590340905; ModelP1: TYPE P1~@ModelParseDefs.mesa!2587936107[ModelParseTable, Stream]; P1Impl1: ModelP1~@ModelScannerImpl.mesa!2590338811[Ascii, CharIO, Environment, FileStream, LongString, ModelParseTable, ModelP1, Stream, Subr, CharIOImpl, FileStreamImpl, LongStringImpl, P1Impl, StreamImpl, SubrImpl]; P1Impl2: ModelP1~@ModelParserImpl.mesa!2588799606[CharIO, ModelParseTable, ModelP1, Stream, Subr, CharIOImpl, P1Impl, SubrImpl]; LET [ModelParseData: TYPE, ModelParseDataImpl: ModelParseData] ~ @ModelParseData.bcd; LET [P1Impl3: ModelP1, MDModelImpl2: MDModel] ~ @MDRulesImpl.mesa!2590340897[ CWF, Dir, FileStream, LongString, MDModel, ModelParseTable, MoveFiles, ModelP1, Stream, String, Subr, TypeScript, CWFImpl, FileStreamImpl, LongStringImpl, MDModelImpl, MoveFilesImpl, P1Impl, StringImpl, SubrImpl]; LET [MDModelImpl3: MDModel, P1Impl4: ModelP1] ~ @MDParseImpl.mesa!2591116652[ CWF, Dir, FileStream, LongString, MDModel, ModelParseData, ModelP1, Runtime, STPSubr, Stream, Subr, TypeScript, UnsafeSTP, CWFImpl, DirImpl, FileStreamImpl, LongStringImpl, MDModelImpl, ModelParseDataImpl, P1Impl, RuntimeImpl, UnsafeSTPImpl, STPSubrImpl, StreamImpl, SubrImpl]; P1Impl: ModelP1~(P1Impl1) PLUS (P1Impl2) PLUS (P1Impl3) PLUS (P1Impl4); RCompImpl: RComp~@RCompImpl.mesa!2590337948[CompilerOps, CWF, Dir, Directory, File, FileParms, FileStream, Heap, Inline, IO, LongString, MDComp, MDDB, MDMain, MDModel, MDUtil, RComp, Rope, Runtime, Stream, Subr, Time, TimeStamp, TypeScript, ViewerClasses, ViewerOps, WindowManager, CompilerOpsImpl, CWFImpl, DirectoryImpl, FileStreamImpl, HeapImpl, InlineImpl, IOImpl, LongStringImpl, MDCompImpl, MDDBImpl, MDMainImpl, MDModelImpl, MDUtilImpl, RuntimeImpl, StreamImpl, SubrImpl, TimeImpl, TypeScriptImpl, ViewerOpsImpl, WindowManagerImpl]; MDCompImpl: MDComp~@MDCompImpl.mesa!2590339968[CompilerOps, CWF, Dir, Directory, ExecOps, File, IO, LowLoader, LongString, MDComp, MDDB, MDMain, MDModel, MDUtil, RComp, RTOS, Runtime, Stream, String, Subr, TimeStamp, TypeScript, CWFImpl, DirImpl, DirectoryImpl, LongStringImpl, MDDBImpl, MDMainImpl, MDModelImpl, MDUtilImpl, RCompImpl, RTOSImpl, RuntimeImpl, StreamImpl, StringImpl, SubrImpl, TypeScriptImpl]; MDModelImpl: MDModel~(MDModelImpl1) PLUS (MDModelImpl2) PLUS (MDModelImpl3) ]