-- Compiler.model -- Copyright (c) 1985 by Xerox Corporation. All rights reserved. -- last edit by Satterthwaite, June 2, 1986 4:22:27 pm PDT LET @///SML/OSBasics.modelBcd!581021414 IN LET @///SML/CedarBasics.modelBcd!581021540 IN LET [ ComputeServerServer: TYPE~ @/Cedar/Cedar6.1/ComputeServerUser/ComputeServerServer.bcd!548206815, ConvertUnsafe: TYPE~@/Cedar/Cedar6.1/Rope/ConvertUnsafe.bcd!541570785, Loader: TYPE Loader~@/Cedar/Cedar6.1/Loader/Loader.bcd!541582731, ProcessorFace: TYPE~@/Cedar/Cedar6.1/Heads/ProcessorFace.bcd!541571125, RuntimeError: TYPE~@/Cedar/Cedar6.1/MesaRuntime/RuntimeError.bcd!541570482, TimeStamp: TYPE~@/Cedar/Cedar6.1/BasicLoadState/TimeStamp.bcd!541573143, UnsafeStorage: TYPE~ @/Cedar/Cedar6.1/SafeStorage/UnsafeStorage.bcd!541573222] IN LAMBDA [ AsciiImpl: Ascii, BasicsImpl: Basics, BasicTimeImpl: BasicTime, CommanderImpl: Commander, ComputeServerServerImpl: ComputeServerServer, ConvertUnsafeImpl: ConvertUnsafe, FileNamesImpl: FileNames, FSImpl: FS, IOImpl: IO, LoaderImpl: Loader, PrincOpsUtilsImpl: PrincOpsUtils, ProcessImpl: Process, ProcessorFaceImpl: ProcessorFace, ProcessImpl: Process, RefTextImpl: RefText, RopeImpl: Rope, RuntimeErrorImpl: RuntimeError, UnsafeStorageImpl: UnsafeStorage, VMImpl: VM] IN LET REC [ &options: STRING~"j-b-ns-w"; -- these come from BasicLoadState.df Table: TYPE~@InternalTable.mesa!577304764*["s-z"]; BcdDefs: TYPE~@InternalBcdDefs.mesa!564432582*["s-z"]; Bcd:~@InternalBcdStuff.modelBcd!581022104; SymbolCache:~@InternalSymbolCache.mesa!577305580; -- this comes from AMTypes.df FileSegment: TYPE~Bcd.FileSegment*["s-z"]; Symbols: TYPE~Bcd.Symbols*["s-z"]; Literals: TYPE~Bcd.Literals*["s-z"]; XTree: TYPE Tree~Bcd.Tree*["s-z"]; Tree: TYPE~@InternalTree.mesa!579136501*[XTree:~XTree, &options:~"s-z"]; XSymbolSegment: TYPE SymbolSegment~ Bcd.SymbolSegment*[Tree:~XTree, &options:~"s-z"]; SymbolSegment: TYPE~Bcd.SymbolSegment*[Tree:~Tree, &options:~"s-z"]; PackageSymbols: TYPE~Bcd.PackageSymbols*["s-z"]; Alloc: TYPE~Bcd.Alloc*["s-z"]; SymbolOps: TYPE~Bcd.SymbolOps*["s-z"]; RCMap: TYPE~Bcd.RCMap*["s-z"]; RTBcd: TYPE~Bcd.RTBcd*["s-z"]; [ SymbolPack: TYPE, SymbolPackImplA: SymbolPack, SymbolOpsImpl1: SymbolOps]~ Bcd.SymbolPack*[]*[]; SymbolTable: TYPE~Bcd.SymbolTable*["s-z"]; SymbolOpsImpl: SymbolOps~ SymbolOpsImpl1 + Bcd.SymbolPackExt*[]*[own:~SymbolPackImplA]; SymbolTableImpl: SymbolTable~ REC [ [SymbolPack: TYPE, SymbolPackImplB: SymbolPack]~Bcd.SymbolPack*[]*[]; SymbolTableImpl: SymbolTable~ SymbolCache*[]*[initial:~SymbolPackImplB]].SymbolTableImpl; TreeOps: TYPE~@ProtoTreeOps.mesa!561064916*[]; TreeOpsImpl: TreeOps~@TreePack.mesa!577228352*[]*[]; LiteralOps: TYPE~@LiteralOps.mesa!542181991*[]; LiteralOpsImpl: LiteralOps~@LiteralPack.mesa!581365296*[]*[]; Types: TYPE~Bcd.Types*["s-z"]; TypesImpl: Types~Bcd.TypePack*[]*[]; XTreeOps: TYPE~@XTreeOps.mesa!560890077*[]; XTreeOpsImpl: XTreeOps~@XTreePack.mesa!560891031*[]*[]; SourceMap: TYPE~@SourceMap.mesa!560990724*[]; FileParms: TYPE~@FileParms.mesa!542182141*["j-b-ns-z"]; Copier: TYPE~@Copier.mesa!542182175*[]; CopierImpl: Copier~ @SymbolCopier.mesa!579138115*[]*[ownSymbols:~SymbolPackImplA] + @FilePack.mesa!576616474*[]*[own:~SymbolPackImplA]; [ComData: TYPE, dataPtr: ComData]~@ComData.mesa!577236175*[]*[]; SymLiteralOps: TYPE~@SymLiteralOps.mesa!542182048*[]; SymLiteralOpsImpl: SymLiteralOps~@SymLiteralPack.mesa!580755973*[]*[]; Real: TYPE~@IeeeFloat.mesa!577235028*[]; RealImpl: Real~@IeeePack.mesa!577235448*[]*[]; CompilerOps: TYPE~@CompilerOps.mesa!542182211*["j-b-ns-z"]; CompilerUtil: TYPE~@CompilerUtil.mesa!542182242*[]; Log: TYPE~@Log.mesa!576616016*[]; ErrorTable: TYPE~@ErrorTable.mesa!567375969*[]; [LogImpl: Log, SourceMapImpl: SourceMap]~@LogPack.mesa!583173858*[]*[]; Pass1: CompilerUtil~ REC [ ParseTable: TYPE~@ParseTable.mesa!580778425*[]; P1: TYPE~@P1.mesa!569890987*[]; [Control: CompilerUtil, Driver: P1]~@Pass1.mesa!581294997*[]*[]; P1Impl: P1~ Driver + @Scanner.mesa!580154837*[]*[] + @ProtoParser.mesa!580755205*[]*[] + @Pass1T.mesa!580778384*[]*[]].Control; Pass2: CompilerUtil~@Pass2.mesa!565053259*[]*[]; Pass3: CompilerUtil~ REC [ A3: TYPE~@A3.mesa!577058476*[]; P3: TYPE~@P3.mesa!576526077*[]; P3S: TYPE~@P3S.mesa!576177918*[]; A3Impl: A3~ @Attr3a.mesa!577058465*[]*[] + @Attr3b.mesa!576450068*[]*[]; [Pass3: TYPE, passPtr: Pass3, Control: CompilerUtil]~ @Pass3.mesa!577235532*[]*[]; Pass3B: P3~@Pass3B.mesa!576177528*[]*[]; Pass3D: P3~@Pass3D.mesa!576534935*[]*[]; Pass3I: P3~@Pass3I.mesa!578508453*[]*[]; Pass3M: P3~@Pass3M.mesa!581639447*[]*[]; [Pass3S: P3, P3SImpl1: P3S]~@Pass3S.mesa!580769538*[]*[]; Pass3V: P3~@Pass3V.mesa!576639703*[]*[]; [Pass3Xa: P3, P3SImpl2: P3S]~@Pass3Xa.mesa!577672678*[]*[]; [Pass3Xb: P3, P3SImpl3: P3S]~@Pass3Xb.mesa!583183948*[]*[]; Pass3Xc: P3~@Pass3Xc.mesa!577058433*[]*[]; P3Impl: P3~ Pass3B + Pass3D + Pass3I + Pass3M + Pass3S + Pass3V + Pass3Xa + Pass3Xb + Pass3Xc; P3SImpl: P3S~P3SImpl1 + P3SImpl2 + P3SImpl3].Control; Pass3P: CompilerUtil~@Pass3P.mesa!577218281*[]*[]; Pass4: CompilerUtil~ REC [ P4: TYPE~@P4.mesa!576785507*[]; [Pass4: TYPE, passPtr: Pass4, Control: CompilerUtil]~ @Pass4.mesa!576713723*[]*[]; P4Impl: P4~ @Pass4B.mesa!580773923*[]*[] + @Pass4D.mesa!576783102*[]*[] + @Pass4L.mesa!578513444*[]*[] + @Pass4S.mesa!576794244*[]*[] + @Pass4Ops.mesa!581710170*[]*[] + @Pass4Xa.mesa!581710384*[]*[] + @Pass4Xb.mesa!576785934*[]*[] + @Pass4Xc.mesa!576786302*[]*[]].Control; Pass5: CompilerUtil~ REC [ MPtr: ComData~dataPtr; -- architecture definitions RTSD: TYPE~Bcd.RTSD*[]; CodeDefs: TYPE~@CodeDefs.mesa!580770865*[]; P5: TYPE~@P5.mesa!565046992*[]; P5L: TYPE~@P5L.mesa!542185580*[]; P5S: TYPE~@P5S.mesa!542185615*[]; P5U: TYPE~@P5U.mesa!577059242*[]; Stack: TYPE~@Stack.mesa!542185707*[]; Counting: TYPE~@Counting.mesa!565046095*[]; FOpCodes: TYPE~@FOpCodes.mesa!542185412*[]; OpCodeParams: TYPE~@OpCodeParams.mesa!542185453*[]; OpTableDefs: TYPE~@OpTableDefs.mesa!542185486*[]; [Code: TYPE, CPtr: Code, Control: CompilerUtil]~ @Code.mesa!577307149*[]*[]; P5UImpl: P5U~@CgenUtil.mesa!576540474*[]*[]; [CodeDefsImpl2: CodeDefs, P5Impl1: P5]~@VarTemp.mesa!577237982*[]*[]; [VarUtils: P5L, CodeDefsImpl3: CodeDefs]~ @VarUtils.mesa!577308708*[]*[]; [VarBasics: P5L, CodeDefsImpl4: CodeDefs]~ @VarBasics.mesa!577308787*[]*[]; [VarMove: P5L, CodeDefsImpl5: CodeDefs]~@VarMove.mesa!577308889*[]*[]; P5LImpl: P5L~VarUtils + VarBasics + VarMove; [P5Impl2: P5, P5SImpl1: P5S]~@Driver.mesa!580771230*[]*[]; OpTableDefsImpl: OpTableDefs~@OpTable.mesa!542186487*[]*[]; P5Impl3: P5~@FOpTable.mesa!542186453*[]*[]; [CodeDefsImpl7: CodeDefs, P5SImpl2: P5S]~ @Address.mesa!577237730*[]*[]; StackImpl: Stack~@StackImpl.mesa!577672908*[]*[LCPtr:~CPtr]; [CodeDefsImpl9: CodeDefs, P5Impl4: P5, P5SImpl3: P5S]~ @Flow.mesa!577308564*[]*[]; [CodeDefsImpl10: CodeDefs, P5Impl5: P5, P5SImpl4: P5S]~ @Calls.mesa!575487067*[]*[]; [CodeDefsImpl11: CodeDefs, P5Impl6: P5, P5SImpl5: P5S]~ @Store.mesa!560985109*[]*[]; [CountingImpl: Counting, CodeDefsImpl12: CodeDefs]~ @CountingImpl.mesa!577235601*[]*[]; [CodeDefsImpl13: CodeDefs, P5Impl7: P5]~ @Constructor.mesa!582077422*[]*[]; [CodeDefsImpl14: CodeDefs, P5Impl8: P5]~ @Expression.mesa!580757361*[]*[]; [CodeDefsImpl15: CodeDefs, P5Impl9: P5]~ @FlowExpression.mesa!577308600*[]*[]; [CodeDefsImpl16: CodeDefs, P5Impl10: P5]~ @Statement.mesa!577237792*[]*[]; [CodeDefsImpl17: CodeDefs, P5Impl11: P5]~ @Selection.mesa!578876207*[]*[]; [CodeDefsImpl18: CodeDefs, P5Impl12: P5]~ @OutCode.mesa!577237857*[]*[]; Final:~ REC [ P5F: TYPE~@P5F.mesa!580770888*[]; PeepholeDefs: TYPE~@PeepholeDefs.mesa!542185675*[]; Peephole:~ REC [ [ CodeDefsImplP: CodeDefs, P5ImplQ: P5, PeepholeQ: PeepholeDefs]~ @PeepholeQ.mesa!542186569*[]*[]; [P5ImplU: P5, PeepholeU: PeepholeDefs]~ @PeepholeU.mesa!577309267*[]*[]; PeepholeZ: PeepholeDefs~@PeepholeZ.mesa!560985079*[]*[]; PeepholeDefsImpl: PeepholeDefs~ PeepholeQ + PeepholeU + PeepholeZ; P5ImplP: P5~P5ImplQ + P5ImplU]; PeepholeDefsImpl: PeepholeDefs~Peephole.PeepholeDefsImpl; [CodeDefsImplF0: CodeDefs, CrossJump: P5F]~ @CrossJump.mesa!577673142*[]*[]; [CodeDefsImplF1: CodeDefs, P5Impl13: P5, Final: P5F]~ @Final.mesa!580774258*[]*[]; P5FImpl: P5F~CrossJump + Final; CodeDefsImplF: CodeDefs~ Peephole.CodeDefsImplP + CodeDefsImplF0 + CodeDefsImplF1; P5ImplF: P5~Peephole.P5ImplP + P5Impl13]; CodeDefsImpl: CodeDefs~ CodeDefsImpl2 + CodeDefsImpl3 + CodeDefsImpl4 + CodeDefsImpl5 + CodeDefsImpl7 + CodeDefsImpl9 + CodeDefsImpl10 + CodeDefsImpl11 + CodeDefsImpl12 + CodeDefsImpl13 + CodeDefsImpl14 + CodeDefsImpl15 + CodeDefsImpl16 + CodeDefsImpl17 + CodeDefsImpl18 + Final.CodeDefsImplF; P5Impl: P5~ P5Impl1 + P5Impl2 + P5Impl3 + P5Impl4 + P5Impl5 + P5Impl6 + P5Impl7 + P5Impl8 + P5Impl9 + P5Impl10 + P5Impl11 + P5Impl12 + Final.P5ImplF; P5SImpl: P5S~P5SImpl1 + P5SImpl2 + P5SImpl3 + P5SImpl4 + P5SImpl5].Control; BcdOutput: CompilerUtil~ REC [ TypeStrings: TYPE~Bcd.TypeStrings*["s-z"]; TypeStringsImpl: TypeStrings~Bcd.TypeStringsImpl*[]*[]; RCMapOps: TYPE~Bcd.RCMapOps*["s-z"]; RCMapOpsImpl: RCMapOps~Bcd.RCMapBuilderImpl*[]*[]; ObjectOut: CompilerUtil~@ObjectOut.mesa!579138113*[]*[]].ObjectOut; AllocImpl: Alloc~Bcd.AllocImpl*[]*[]; CBinary: TYPE~Bcd.CBinary*[&options:~"s-z"]; CBinaryImpl: CBinary~ @MesaTab.bcd!580778423*[] + @ErrorTab.bcd!580778428*[] + @DebugTab.bcd!580778430*[]; CommandUtil: TYPE~@CommandUtil.mesa!542181810*[]; CommandUtilImpl: CommandUtil~@CommandPack.mesa!542204761*[]*[]; FileParmOps: TYPE~@FileParmOps.mesa!542182616*[]; FileParmOpsImpl: FileParmOps~@FileParmPack.mesa!575338491*[]*[]; DebugTable: TYPE~@DebugTable.mesa!542182360*[]; Debug: CompilerUtil~@Debug.mesa!570472893*[]*[]; OSMiscOps: TYPE~@OSMiscOps.mesa!563132423*[]; OSMiscOpsImpl: OSMiscOps~@OSMiscOpsImpl.mesa!577672349*[]*[]; [CompilerOpsImpl: CompilerOps, Sequencer: CompilerUtil]~ @CompilerSequencer.mesa!575502346*[]*[ownSymbols:~SymbolPackImplA]; CompilerUtilImpl: CompilerUtil~ Pass1 + Pass2 + Pass3 + Pass3P + Pass4 + Pass5 + BcdOutput + Debug + Sequencer; --Compiler: CONTROL~@CompilerServerCommandImpl.mesa!561682218*[]*[]].CompilerOpsImpl Compiler: CONTROL~@TestInterface.mesa!577675259*[]*[]] IN []