-- TableCompiler.Model, 16-Sep-82 10:18:19 PDT
OPEN @BasicPilot.model!2565894086;
KernelFile: TYPE == @KernelFile.bcd;
LongStorage: TYPE == @LongStorage.bcd;
Mopcodes: TYPE == @Mopcodes.bcd;
ProcessorFace: TYPE == @ProcessorFace.bcd;
System: TYPE == @System.bcd;
Spaces: TYPE == @LongSpaces.mesa!2530133688[Environment, LongStorage];
Alloc: TYPE == @Alloc.mesa!2548347750;
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];
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,
	TreeOpsImpl: TreeOps,
	TTYImpl: TTY,
	UserTerminalImpl: UserTerminal,
	VolumeImpl: Volume]
RETURNS [] [
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];
TableCommandImpl1: 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];
PGSTypes: TYPE == @PGSTypes.mesa!2571149504[Mopcodes];
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);
PGSConDefsImpl1: PGSConDefs == @PGSBcd.mesa!2571952384[BcdDefs, 
            BcdOps, Environment, FileSegment, FileStream, PGSConDefs, 
            Spaces, Stream, Strings, TableCommand, "-b-cj-ns", 
            FileStreamImpl, PGSConDefsImpl, SpacesImpl, StreamImpl, 
            StringsImpl, TableCommandImpl];
PGSConDefsImpl2: PGSConDefs == @PGSSymbols.mesa!2568901568[Alloc, 
            Environment, PGSConDefs, PrincOps, Stream, Strings, 
            Symbols, SymbolSegment, SymbolOps, SymbolPackO, 
            Table, "-b-cj-ns", AllocImpl, PGSConDefsImpl, StreamImpl, 
            SymbolOpsImpl, SymbolPackOImpl];
TableCommandImpl2: TableCommand == @StringCompactor.mesa!2571951359[
            CharIO, Environment, FileStream, LongStorage, OSMiscOps, 
            Stream, Strings, TableCommand, "-b-cj-ns", CharIOImpl, 
            FileStreamImpl, OSMiscOpsImpl, LongStorageImpl, 
            StreamImpl, StringsImpl, TableCommandImpl];
TableCommandImpl3: TableCommand == @ModuleMaker.Mesa!2571951471[
            Environment, File, FileStream, OSMiscOps, PGSConDefs, 
            Spaces, Stream, Strings, TableCommand, "-b-cj-ns", 
            FileStreamImpl, OSMiscOpsImpl, PGSConDefsImpl, SpacesImpl, 
            StreamImpl, StringsImpl, TableCommandImpl];
CharIO: TYPE == @CharIO.mesa!2557696230[Format, Stream, Strings];
CharIOImpl: CharIO == @CharIOImpl.mesa!2568311174[CharIO, Stream, 
            Strings, "-b-cj-ns", StringsImpl, StreamImpl];
LET [RunTableCompiler: CONTROL, TableCommandImpl4: TableCommand, 
PGSConDefsImpl3: PGSConDefs] == @TableControl.mesa!2575568745[
      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)
]