-- PGS.model, 11-Jan-83 13:02:13 PST
OPEN @BasicPilot.model!2579461154;
KernelFile: TYPE~@KernelFile.bcd;
LongStorage: TYPE~@LongStorage.bcd;
Mopcodes: TYPE~@Mopcodes.bcd;
ProcessorFace: TYPE~@ProcessorFace.bcd;
Strings: TYPE~@LongStrings.mesa!2579451954[LongString];
System: TYPE~@System.bcd;
Spaces: TYPE~@LongSpaces.mesa!2530133688[Environment, LongStorage];
Table: TYPE~@Table.mesa!2577115106;
BcdDefs: TYPE~@BcdDefs.mesa!2565550795[PrincOps, Table, TimeStamp];
BcdOps: TYPE~@BcdOps.mesa!2563405009[BcdDefs];
Symbols: TYPE~@Symbols.mesa!2591895789[PrincOps, Table, TimeStamp];
Literals: TYPE~@Literals.mesa!2591823743[Symbols, Table];
Tree: TYPE~@Tree.mesa!2591824100[Table, Literals, Symbols];
SymbolSegment: TYPE~@SymbolSegment.mesa!2591823663[Literals, 
      Symbols, Table, TimeStamp, Tree];
PGSTypes: TYPE~@PGSTypes.mesa!2582563100[Mopcodes];
PGS: PROC [DirectoryImpl: Directory,
	ExecImpl: Exec,
	FileImpl: File,
	FileStreamImpl: FileStream,
	HeapImpl: Heap,
	InlineImpl: Inline,
	KernelFileImpl: KernelFile,
	LongStorageImpl: LongStorage,
	LongStringImpl: LongString,
	PGSTypesImpl: PGSTypes,
	ProcessorFaceImpl: ProcessorFace,
	RuntimeImpl: Runtime,
	SpaceImpl: Space,
	SpacesImpl: Spaces,
	StreamImpl: Stream,
	StringsImpl: Strings,
	TimeImpl: Time,
	TransactionImpl: Transaction,
	TTYImpl: TTY,
	UserTerminalImpl: UserTerminal,
	VolumeImpl: Volume]
RETURNS [] [
Alloc: TYPE~@Alloc.mesa!2585849506;
AllocImpl: Alloc~@AllocImpl.mesa!2585851003[Alloc, Environment, 
            File, FileTypes, Heap, Inline, Runtime, Space, Volume, 
            "-b-cj-ns", FileImpl, HeapImpl, InlineImpl, RuntimeImpl, 
            SpaceImpl, VolumeImpl];
CharIO: TYPE~@CharIO.mesa!2585844909[Format, Stream, Strings];
CharIOImpl: CharIO~@CharIOImpl.mesa!2585845746[CharIO, Stream, 
            Strings, "-b-cj-ns", StringsImpl, StreamImpl];
OSMiscOps: TYPE~@OSMiscOps.mesa!2585846758[Environment, File, 
      Strings, TimeStamp];
OSMiscOpsImpl: OSMiscOps~@OSMiscOpsImpl.mesa!2585847230[DCSFileTypes, 
            Directory, File, Inline, KernelFile, OSMiscOps, 
            ProcessorFace, Runtime, Space, Time, TimeStamp, 
            "-b-cj-ns", DirectoryImpl, InlineImpl, KernelFileImpl, 
            ProcessorFaceImpl, RuntimeImpl, SpaceImpl, TimeImpl];
CommandUtil: TYPE~@CommandUtil.mesa!2585845958[ExecOps, Stream, 
      Strings];
CommandUtilImpl: CommandUtil~@CommandPack.mesa!2585846832[CommandUtil, 
            Heap, Stream, Strings, "-b-cj-ns", HeapImpl, StreamImpl, 
            StringsImpl];
PGSConDefs: TYPE~@PGSConDefs.mesa!2588545331[Environment, PGSTypes, 
      Stream, Strings, TimeStamp];
FileSegment: TYPE~@FileSegment.mesa!2550689766[File];
SymbolOps: TYPE~@SymbolOps.mesa!2591827562[Alloc, Strings, Symbols, 
      TimeStamp, Tree];
LET [SymbolPackI: TYPE SymbolPack, SymbolPackIImpl: SymbolPackI] ~ @SymbolPack.mesa!2591827548[
      Inline, Literals, Strings, Symbols, SymbolOps, SymbolSegment, 
      TimeStamp, Tree, "-b-cj-ns", InlineImpl, StringsImpl];
SymbolTable: TYPE~@SymbolTable.mesa!2568557625[FileSegment, 
      SymbolPackI];
SymbolTableImpl: SymbolTable~@SymbolCache.mesa!2591914617[Environment, 
            File, FileSegment, Heap, Space, Symbols, SymbolPackI, 
            SymbolSegment, SymbolTable, "-b-cj-ns", SymbolPackIImpl, 
            FileImpl, HeapImpl, SpaceImpl];
TableCommand: TYPE~@TableCommand.mesa!2571951551[FileSegment, 
      Stream, Strings, TimeStamp];
TableCommandImpl: TableCommand~@TableSymbols.mesa!2582563060[
            BcdDefs, BcdOps, File, FileSegment, OSMiscOps, Space, 
            Strings, Symbols, SymbolTable, Table, TableCommand, 
            "-b-cj-ns", OSMiscOpsImpl, SpaceImpl, StringsImpl, 
            SymbolTableImpl];
LET [SymbolPackO: TYPE SymbolPack, SymbolPackOImpl: SymbolPackO, 
SymbolOpsImpl1: SymbolOps] ~ @SymbolPack.mesa!2591827548[Inline, 
      Literals, Strings, Symbols, SymbolOps, SymbolSegment, 
      TimeStamp, Tree, "-b-cj-ns", InlineImpl, StringsImpl];
SymbolOpsImpl2: SymbolOps~@SymbolPackExt.mesa!2591828083[Alloc, 
            Strings, Symbols, SymbolOps, SymbolPackO, SymbolSegment, 
            Tree, "-b-cj-ns", AllocImpl, StringsImpl, SymbolOpsImpl1, 
            SymbolPackOImpl];
SymbolOpsImpl: SymbolOps~(SymbolOpsImpl1) PLUS (SymbolOpsImpl2);
PGSConDefsImpl6: PGSConDefs~@PGSSymbols.mesa!2588544928[Alloc, 
            Environment, PGSConDefs, PrincOps, Stream, Strings, 
            Symbols, SymbolSegment, SymbolOps, SymbolPackO, 
            Table, "-b-cj-ns", AllocImpl, PGSConDefsImpl, StreamImpl, 
            SymbolOpsImpl, SymbolPackOImpl];
PGSParseTable: TYPE ParseTable~@PGSParseTable.mesa!2588542183;
PGS1: TYPE P1~@ProtoP1.mesa!2588538983[PGSParseTable, Stream, 
      Strings];
LET [PGS1Impl1: PGS1, PGSConDefsImpl7: PGSConDefs] ~ @PGSScan.mesa!2588545716[
      PGS1, PGSParseTable, PGSConDefs, PGSTypes, Stream, Strings, 
      "-b-cj-ns", PGS1Impl, PGSConDefsImpl];
PGS1Impl2: PGS1~@ProtoParser.mesa!2588287864[CharIO, PGS1, PGSParseTable, 
            Stream, Strings, "-b-cj-ns", CharIOImpl, PGS1Impl];
LET [PGSParseData: TYPE, PGSParseDataImpl: PGSParseData] ~ @PGSParseData.bcd;
PGSOps: TYPE~@PGSOps.mesa!2585604729[CommandUtil, Strings];
LET [PGSConDefsImpl1: PGSConDefs, PGSOpsImpl: PGSOps] ~ @PGSControl.mesa!2588545033[
      CommandUtil, Inline, Environment, File, FileStream, OSMiscOps, 
      PGS1, PGSConDefs, PGSOps, PGSParseData, PGSTypes, Runtime, 
      Spaces, Stream, Strings, Time, TimeStamp, "-b-cj-ns", 
      CommandUtilImpl, FileImpl, FileStreamImpl, InlineImpl, 
      OSMiscOpsImpl, PGS1Impl, PGSConDefsImpl, PGSParseDataImpl, 
      RuntimeImpl, SpacesImpl, StreamImpl, StringsImpl, TimeImpl];
PGSConDefsImpl2: PGSConDefs~@PGSLALR.mesa!2588545198[PGSConDefs, 
            PGSTypes, "-b-cj-ns", PGSConDefsImpl];
PGSConDefsImpl3: PGSConDefs~@PGSTab.mesa!2588272035[PGSConDefs, 
            PGSTypes, Strings, "-b-cj-ns", PGSConDefsImpl];
PGSConDefsImpl4: PGSConDefs~@PGSFormat.mesa!2588545810[PGSConDefs, 
            PGSTypes, Strings, "-b-cj-ns", PGSConDefsImpl];
PGSConDefsImpl5: PGSConDefs~@PGSBcd.mesa!2582565602[BcdDefs, 
            BcdOps, Environment, FileSegment, FileStream, PGSConDefs, 
            Spaces, Stream, Strings, TableCommand, "-b-cj-ns", 
            FileStreamImpl, PGSConDefsImpl, SpacesImpl, StreamImpl, 
            StringsImpl, TableCommandImpl];
LET [RunPGS: CONTROL, PGSConDefsImpl8: PGSConDefs] ~ @PGSInterface.mesa!2588545307[
      CommandUtil, Exec, FileStream, Heap, OSMiscOps, PGSConDefs, 
      PGSOps, Runtime, Stream, Strings, Time, TTY, UserTerminal, 
      "-b-cj-ns", CommandUtilImpl, ExecImpl, FileStreamImpl, 
      HeapImpl, OSMiscOpsImpl, PGSOpsImpl, RuntimeImpl, StreamImpl, 
      StringsImpl, TimeImpl, TTYImpl, UserTerminalImpl];
PGS1Impl: PGS1~(PGS1Impl1) PLUS (PGS1Impl2);
PGSConDefsImpl: PGSConDefs~(PGSConDefsImpl1) PLUS (PGSConDefsImpl2) PLUS 
      (PGSConDefsImpl3) PLUS (PGSConDefsImpl4) PLUS (PGSConDefsImpl5) PLUS 
      (PGSConDefsImpl6) PLUS (PGSConDefsImpl7) PLUS (PGSConDefsImpl8)
]