-- TableCompiler.model, 11-Jan-83 13:04:42 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];
Alloc: TYPE~@Alloc.mesa!2585849506;
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];
TableCompiler: PROC [DirectoryImpl: Directory,
	ExecImpl: Exec,
	FileImpl: File,
	FileStreamImpl: FileStream,
	HeapImpl: Heap,
	InlineImpl: Inline,
	KernelFileImpl: KernelFile,
	LongStorageImpl: LongStorage,
	LongStringImpl: LongString,
	ProcessorFaceImpl: ProcessorFace,
	RuntimeImpl: Runtime,
	SpaceImpl: Space,
	SpacesImpl: Spaces,
	StreamImpl: Stream,
	StringImpl: String,
	StringsImpl: Strings,
	TimeImpl: Time,
	TransactionImpl: Transaction,
	TTYImpl: TTY,
	UserTerminalImpl: UserTerminal,
	VolumeImpl: Volume]
RETURNS [] [
FileSegment: TYPE~@FileSegment.mesa!2550689766[File];
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];
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];
TableCommandImpl1: TableCommand~@TableSymbols.mesa!2582563060[
            BcdDefs, BcdOps, File, FileSegment, OSMiscOps, Space, 
            Strings, Symbols, SymbolTable, Table, TableCommand, 
            "-b-cj-ns", OSMiscOpsImpl, SpaceImpl, StringsImpl, 
            SymbolTableImpl];
AllocImpl: Alloc~@AllocImpl.mesa!2585851003[Alloc, Environment, 
            File, FileTypes, Heap, Inline, Runtime, Space, Volume, 
            "-b-cj-ns", FileImpl, HeapImpl, InlineImpl, RuntimeImpl, 
            SpaceImpl, VolumeImpl];
SymbolOps: TYPE~@SymbolOps.mesa!2591827562[Alloc, Strings, Symbols, 
      TimeStamp, Tree];
SymbolOps: TYPE~@SymbolOps.mesa!2591827562[Alloc, Strings, Symbols, 
      TimeStamp, Tree];
PGSTypes: TYPE~@PGSTypes.mesa!2582563100[Mopcodes];
LET [PGSConDefs: TYPE, CompilerUtil: TYPE] ~ @PGSConDefs.mesa!2588545331[
      Environment, PGSTypes, Stream, Strings, TimeStamp];
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);
PGSConDefsImpl1: PGSConDefs~@PGSBcd.mesa!2582565602[BcdDefs, 
            BcdOps, Environment, FileSegment, FileStream, PGSConDefs, 
            Spaces, Stream, Strings, TableCommand, "-b-cj-ns", 
            FileStreamImpl, PGSConDefsImpl, SpacesImpl, StreamImpl, 
            StringsImpl, TableCommandImpl];
PGSConDefsImpl2: PGSConDefs~@PGSSymbols.mesa!2588544928[Alloc, 
            Environment, PGSConDefs, PrincOps, Stream, Strings, 
            Symbols, SymbolSegment, SymbolOps, SymbolPackO, 
            Table, "-b-cj-ns", AllocImpl, PGSConDefsImpl, StreamImpl, 
            SymbolOpsImpl, SymbolPackOImpl];
TableCommandImpl2: TableCommand~@StringCompactor.mesa!2582567475[
            CharIO, Environment, FileStream, LongStorage, OSMiscOps, 
            Stream, Strings, TableCommand, "-b-cj-ns", CharIOImpl, 
            FileStreamImpl, OSMiscOpsImpl, LongStorageImpl, 
            StreamImpl, StringsImpl, TableCommandImpl];
TableCommandImpl3: TableCommand~@ModuleMaker.Mesa!2582567548[
            Environment, File, FileStream, OSMiscOps, PGSConDefs, 
            Spaces, Stream, Strings, TableCommand, "-b-cj-ns", 
            FileStreamImpl, OSMiscOpsImpl, PGSConDefsImpl, SpacesImpl, 
            StreamImpl, StringsImpl, TableCommandImpl];
CharIO: TYPE~@CharIO.mesa!2585844909[Format, Stream, Strings];
CharIOImpl: CharIO~@CharIOImpl.mesa!2585845746[CharIO, Stream, 
            Strings, "-b-cj-ns", StringsImpl, StreamImpl];
LET [RunTableCompiler: CONTROL, TableCommandImpl4: TableCommand, 
PGSConDefsImpl3: PGSConDefs] ~ @TableControl.mesa!2588546551[
      BcdDefs, CharIO, Exec, FileStream, Heap, OSMiscOps, PGSConDefs, 
      Runtime, Stream, Strings, TableCommand, Time, TTY, UserTerminal, 
      "-b-cj-ns", CharIOImpl, ExecImpl, FileStreamImpl, HeapImpl, 
      OSMiscOpsImpl, RuntimeImpl, StreamImpl, StringsImpl, TableCommandImpl, 
      TimeImpl, TTYImpl, UserTerminalImpl];
PGSConDefsImpl: PGSConDefs~(PGSConDefsImpl1) PLUS (PGSConDefsImpl2) PLUS 
      (PGSConDefsImpl3);
TableCommandImpl: TableCommand~(TableCommandImpl1) PLUS (TableCommandImpl2) PLUS 
      (TableCommandImpl3) PLUS (TableCommandImpl4)
]