-- PGS.Model, 16-Sep-82 10:14:21 PDT
OPEN @BasicPilot.model!2565894086;
KernelFile: TYPE == @KernelFile.bcd;
LongStorage: TYPE == @LongStorage.bcd;
Mopcodes: TYPE == @Mopcodes.bcd;
ProcessorFace: TYPE == @ProcessorFace.bcd;
Segments: TYPE == @Segments.bcd;
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!2565302638[PrincOps, Table, TimeStamp];
Literals: TYPE == @Literals.mesa!2550173704[Symbols, Table];
Tree: TYPE == @Tree.mesa!2558456374[Table, Literals, Symbols];
SymbolSegment: TYPE == @SymbolSegment.mesa!2548600256[Literals, 
      Symbols, Table, TimeStamp, Tree];
TreeOps: TYPE == @TreeOps.mesa!2566506225[Alloc, Literals, Symbols, 
      Tree];
PGSTypes: TYPE == @PGSTypes.mesa!2571149504[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,
	SegmentsImpl: Segments,
	SpaceImpl: Space,
	SpacesImpl: Spaces,
	StreamImpl: Stream,
	StringsImpl: Strings,
	TimeImpl: Time,
	TransactionImpl: Transaction,
	TreeOpsImpl: TreeOps,
	TTYImpl: TTY,
	UserTerminalImpl: UserTerminal,
	VolumeImpl: Volume]
RETURNS [] [
CommandUtil: TYPE == @CommandUtil.mesa!2550530585[ExecOps, Stream, 
      Strings];
Alloc: TYPE == @Alloc.mesa!2548347750;
FileSegment: TYPE == @FileSegment.mesa!2550689766[File];
OSMiscOps: TYPE == @OSMiscOps.mesa!2570646172[Environment, File, 
      Strings, TimeStamp];
OSMiscOpsImpl: OSMiscOps == @OSMiscOpsImpl.mesa!2576702530[DCSFileTypes, 
            Directory, File, Inline, KernelFile, OSMiscOps, 
            ProcessorFace, Runtime, Space, Time, TimeStamp, 
            "-b-cj-ns", DirectoryImpl, InlineImpl, KernelFileImpl, 
            ProcessorFaceImpl, RuntimeImpl, SpaceImpl, TimeImpl];
LET [SymbolPackI: TYPE SymbolPack, SymbolPackIImpl: SymbolPackI] == @SymbolPack.mesa!2559578211[
      Inline, Literals, Strings, Symbols, SymbolOps, SymbolSegment, 
      TimeStamp, Tree, "-b-cj-ns", InlineImpl, StringsImpl];
SymbolTable: TYPE == @SymbolTable.mesa!2568557625[FileSegment, 
      SymbolPackI];
SymbolTableImpl: SymbolTable == @SymbolCache.mesa!2568562284[
            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!2568902121[
            BcdDefs, BcdOps, File, FileSegment, OSMiscOps, Space, 
            Strings, Symbols, SymbolTable, Table, TableCommand, 
            "-b-cj-ns", OSMiscOpsImpl, SpaceImpl, StringsImpl, 
            SymbolTableImpl];
AllocImpl: Alloc == @AllocImpl.mesa!2573145002[Alloc, Environment, 
            File, FileTypes, Heap, Inline, Runtime, Space, Volume, 
            "-b-cj-ns", FileImpl, HeapImpl, InlineImpl, RuntimeImpl, 
            SpaceImpl, VolumeImpl];
SymbolOps: TYPE == @SymbolOps.mesa!2559578970[Alloc, Strings, 
      Symbols, TimeStamp, Tree];
SymbolOps: TYPE == @SymbolOps.mesa!2559578970[Alloc, Strings, 
      Symbols, TimeStamp, Tree];
PGSConDefs: TYPE == @PGSConDefs.mesa!2578497255[Environment, 
      PGSTypes, Stream, Strings, TimeStamp];
LET [SymbolPackO: TYPE SymbolPack, SymbolPackOImpl: SymbolPackO, 
SymbolOpsImpl1: SymbolOps] == @SymbolPack.mesa!2559578211[Inline, 
      Literals, Strings, Symbols, SymbolOps, SymbolSegment, 
      TimeStamp, Tree, "-b-cj-ns", InlineImpl, StringsImpl];
SymbolOpsImpl2: SymbolOps == @SymbolPackExt.mesa!2559578604[
            Alloc, Strings, Symbols, SymbolOps, SymbolPackO, 
            SymbolSegment, Tree, TreeOps, "-b-cj-ns", AllocImpl, 
            StringsImpl, SymbolOpsImpl1, TreeOpsImpl, SymbolPackOImpl];
SymbolOpsImpl: SymbolOps == (SymbolOpsImpl1) PLUS (SymbolOpsImpl2);
PGSConDefsImpl7: PGSConDefs == @PGSSymbols.mesa!2568901568[Alloc, 
            Environment, PGSConDefs, PrincOps, Stream, Strings, 
            Symbols, SymbolSegment, SymbolOps, SymbolPackO, 
            Table, "-b-cj-ns", AllocImpl, PGSConDefsImpl, StreamImpl, 
            SymbolOpsImpl, SymbolPackOImpl];
PGSParseTable: TYPE ParseTable == @PGSParseTable.mesa!2572279387;
PGS1: TYPE == @PGS1.mesa!2560710149[PGSParseTable];
LET [PGS1Impl1: PGS1, PGSConDefsImpl8: PGSConDefs] == @PGSScan.mesa!2572279371[
      PGS1, PGSParseTable, PGSConDefs, PGSTypes, "-b-cj-ns", 
      PGS1Impl, PGSConDefsImpl];
PGS1Impl2: PGS1 == @PGSParse.mesa!2570732981[PGSConDefs, PGS1, 
            PGSParseTable, "-b-cj-ns", PGSConDefsImpl, PGS1Impl];
LET [PGSParseData: TYPE, PGSParseDataImpl: PGSParseData] == @PGSParseData.bcd;
CharIO: TYPE == @CharIO.mesa!2557696230[Format, Stream, Strings];
PGSOps: TYPE == @PGSOps.mesa!2560710397[CommandUtil, Strings];
CharIOImpl: CharIO == @CharIOImpl.mesa!2568311174[CharIO, Stream, 
            Strings, "-b-cj-ns", StringsImpl, StreamImpl];
CommandUtilImpl: CommandUtil == @CommandPack.mesa!2577563439[
            Ascii, CharIO, CommandUtil, Heap, Stream, Strings, 
            "-b-cj-ns", CharIOImpl, HeapImpl, StringsImpl];
LET [PGSConDefsImpl1: PGSConDefs, PGSOpsImpl: PGSOps, PGS1Impl3: PGS1] == @PGSControl.mesa!2571153779[
      CharIO, CommandUtil, Inline, Environment, File, FileStream, 
      OSMiscOps, PGS1, PGSConDefs, PGSOps, PGSParseData, PGSTypes, 
      Segments, Spaces, Stream, Strings, Time, TimeStamp, "-b-cj-ns", 
      CharIOImpl, CommandUtilImpl, FileImpl, FileStreamImpl, 
      InlineImpl, OSMiscOpsImpl, PGS1Impl, PGSConDefsImpl, PGSParseDataImpl, 
      SegmentsImpl, SpacesImpl, StreamImpl, StringsImpl, TimeImpl];
PGSConDefsImpl2: PGSConDefs == @PGSLALR.mesa!2571153048[PGSConDefs, 
            PGSTypes, "-b-cj-ns", PGSConDefsImpl];
PGSConDefsImpl3: PGSConDefs == @PGSTab.mesa!2571154637[PGSConDefs, 
            PGSTypes, Strings, "-b-cj-ns", PGSConDefsImpl];
PGSConDefsImpl4: PGSConDefs == @PGSFormat.mesa!2572277025[PGSConDefs, 
            PGSTypes, Strings, "-b-cj-ns", PGSConDefsImpl];
PGSConDefsImpl5: PGSConDefs == @PGSBcd.mesa!2571952384[BcdDefs, 
            BcdOps, Environment, FileSegment, FileStream, PGSConDefs, 
            Spaces, Stream, Strings, TableCommand, "-b-cj-ns", 
            FileStreamImpl, PGSConDefsImpl, SpacesImpl, StreamImpl, 
            StringsImpl, TableCommandImpl];
LET [RunPGS: CONTROL, PGSConDefsImpl6: PGSConDefs] == @PGSInterface.mesa!2575568205[
      CharIO, CommandUtil, Exec, FileStream, Heap, PGSConDefs, 
      PGSOps, PGSParseData, OSMiscOps, Runtime, Stream, Strings, 
      Time, TTY, UserTerminal, "-b-cj-ns", CharIOImpl, CommandUtilImpl, 
      ExecImpl, FileStreamImpl, HeapImpl, OSMiscOpsImpl, PGSOpsImpl, 
      PGSParseDataImpl, RuntimeImpl, StreamImpl, StringsImpl, 
      TimeImpl, TTYImpl, UserTerminalImpl];
PGS1Impl: PGS1 == (PGS1Impl1) PLUS (PGS1Impl2) PLUS (PGS1Impl3);
PGSConDefsImpl: PGSConDefs == (PGSConDefsImpl1) PLUS (PGSConDefsImpl2) PLUS 
      (PGSConDefsImpl3) PLUS (PGSConDefsImpl4) PLUS (PGSConDefsImpl5) PLUS 
      (PGSConDefsImpl6) PLUS (PGSConDefsImpl7) PLUS (PGSConDefsImpl8)
]