-- TestCompiler.model
-- last edited by Satterthwaite, August 10, 1983 10:31 am
LET @OSBasics.modelBcd IN
LET [
Feedback: TYPE~@Feedback.bcd[],
IO: TYPE~@IO.bcd[],
KernelFile: TYPE~@KernelFile.bcd[],
ProcessorFace: TYPE~@ProcessorFace.bcd[],
TemporarySpecialExecOps: TYPE~@TemporarySpecialExecOps.bcd[]
] IN
LAMBDA [
DirectoryImpl: Directory,
ExecImpl: Exec,
FileImpl: File,
FileStreamImpl: FileStream,
HeapImpl: Heap,
InlineImpl: Inline,
IOImpl: IO,
KernelFileImpl: KernelFile,
LongStringImpl: LongString,
ProcessorFaceImpl: ProcessorFace,
RuntimeImpl: Runtime,
SpaceImpl: Space,
StreamImpl: Stream,
StringImpl: String,
TimeImpl: Time,
TTYImpl: TTY,
VolumeImpl: Volume
] => [] IN
REC [
&options: STRING~"j-b-n-cs";
-- these were compiled with a different compiler version; don't recompile now
--Strings: TYPE~@LongStrings.mesa!2579451954*[]*[];
Strings: TYPE~@Strings.bcd!424b22933b34[--LongStringImpl--];
StringsImpl: Strings~NIL;
--Table: TYPE~@Table.mesa!2577115106*["j-b-n-cs"]*[];
Table: TYPE~@Table.bcd!636777ceaa73[];
--BcdDefs: TYPE~@BcdDefs.mesa!2565550795*[]*[];
BcdDefs: TYPE~@BcdDefs.bcd!d3001303ab9e[];
--BcdOps: TYPE~@BcdOps.mesa!2563405009*[]*[];
BcdOps: TYPE~@BcdOps.bcd!99cd6a18f9fd[];
FileSegment: TYPE~@FileSegment.mesa!2550689766*[]*[];
Symbols: TYPE~@Symbols.mesa!2591895789*[]*[];
Literals: TYPE~@Literals.mesa!2591823743*[]*[];
Tree: TYPE~@Tree.mesa!2591824100*[]*[];
SymbolSegment: TYPE~@SymbolSegment.mesa!2591823663*[]*[];
PackageSymbols: TYPE~@PackageSymbols.mesa!2513695236*[]*[];
Alloc: TYPE~@Alloc.mesa!2585849506*[]*[];
SymbolOps: TYPE~@SymbolOps.mesa!2591827562*[]*[];
RCMap: TYPE~@RCMap.mesa!2542132963*[]*[];
RTBcd: TYPE~@RTBcd.mesa!2562263325*[]*[];
LiteralOps: TYPE~@LiteralOps.mesa!2591889369*[]*[];
TreeOps: TYPE~@ProtoTreeOps.mesa!2588520733*[]*[];
SymLiteralOps: TYPE~@SymLiteralOps.mesa!2596729968*[]*[];
OSMiscOps: TYPE~@OSMiscOps.mesa!2585846758*[]*[];
OSMiscOpsImpl: OSMiscOps~@OSMiscOpsImpl.mesa!2585847230*[]*[];
CharIO: TYPE~@CharIO.mesa!2585844909*[]*[];
CharIOImpl: CharIO~@CharIOImpl.mesa!2585845746*[]*[];
Real: TYPE~@IeeeFloat.mesa!2569172539*[]*[];
RealImpl: Real~@IeeePack.mesa!2569172695*[]*[];
AllocImpl: Alloc~@AllocImpl.mesa!2585851003*[]*[];
[SymbolPack: TYPE, SymbolPackImplA: SymbolPack, SymbolOpsImpl1: SymbolOps]~
@SymbolPack.mesa!2591827548*[]*[];
SymbolTable: TYPE~@SymbolTable.mesa!2568557625*[]*[];
SymbolOpsImpl: SymbolOps~
SymbolOpsImpl1 + @SymbolPackExt.mesa!2591828083*[]*[own~SymbolPackImplA];
SymbolTableImpl: SymbolTable~REC [
[SymbolPack: TYPE, SymbolPackImplB: SymbolPack]~@SymbolPack.mesa!2591827548*[]*[];
SymbolTableImpl: SymbolTable~@SymbolCache.mesa!2591914617*[]*[
initial~SymbolPackImplB]
].SymbolTableImpl;
TreeOpsImpl: TreeOps~@TreePack.mesa!2588521035*[]*[];
LiteralOpsImpl: LiteralOps~@LiteralPack.mesa!2591892424*[]*[];
Types: TYPE~@Types.mesa!2557178921*[]*[];
TypesImpl: Types~@TypePack.mesa!2591830311*[]*[];
FileParms: TYPE~@FileParms.mesa!2563230620*[]*[];
Copier: TYPE~@Copier.mesa!2591889584*[]*[];
CopierImpl: Copier~
@SymbolCopier.mesa!2599061757*[]*[ownSymbols~SymbolPackImplA] +
@FilePack.mesa!2591892428*[]*[own~SymbolPackImplA];
[ComData: TYPE, dataPtr: ComData]~@ComData.mesa!2601305731*[]*[];
SymLiteralOpsImpl: SymLiteralOps~@SymLiteralPack.mesa!2596742933*[]*[];
CompilerOps: TYPE~@CompilerOps.mesa!2601306490*[]*[];
CompilerUtil: TYPE~@CompilerUtil.mesa!2588518198*[]*[];
Log: TYPE~@Log.mesa!2591889518*[]*[];
ErrorTable: TYPE~@ErrorTable.mesa!2550173109*[]*[];
LogImpl: Log~@LogPack.mesa!2591831374*[]*[];
Pass1: CompilerUtil ~ REC [
ParseTable: TYPE~@ParseTable.mesa!2598192502*[]*[];
P1: TYPE~@P1.mesa!2591887183*[]*[];
[Control: CompilerUtil, Driver: P1]~@Pass1.mesa!2591887280*[]*[];
Scanner: P1~@Scanner.mesa!2598807614*[]*[];
Parser: P1~@ProtoParser.mesa!2588287864*[]*[];
TreeBuilder: P1~@Pass1T.mesa!2598192460*[]*[];
P1Impl: P1~Driver+Scanner+Parser+TreeBuilder].Control;
Pass2: CompilerUtil~@Pass2.mesa!2592239378*[]*[];
Pass3: CompilerUtil ~ REC [
A3: TYPE~@A3.mesa!2594674509*[]*[];
P3: TYPE~@P3.mesa!2585847379*[]*[];
P3S: TYPE~@P3S.mesa!2585847462*[]*[];
A3Impl: A3~
@Attr3a.mesa!2594675060*[]*[] + @Attr3b.mesa!2588522281*[]*[];
[Pass3: TYPE, passPtr: Pass3, Control: CompilerUtil]~@Pass3.mesa!2596730423*[]*[];
Pass3B: P3~@Pass3B.mesa!2591830809*[]*[];
Pass3D: P3~@Pass3D.mesa!2598538635*[]*[];
Pass3I: P3~@Pass3I.mesa!2603838022*[]*[];
Pass3M: P3~@Pass3M.mesa!2598884473*[]*[];
[Pass3S: P3,P3SImpl1: P3S]~@Pass3S.mesa!2590691423*[]*[];
Pass3V: P3~@Pass3V.mesa!2593552472*[]*[];
[Pass3Xa: P3,P3SImpl2: P3S]~@Pass3Xa.mesa!2594674364*[]*[];
[Pass3Xb: P3,P3SImpl3: P3S]~@Pass3Xb.mesa!2593552410*[]*[];
Pass3Xc: P3~@Pass3Xc.mesa!2585778528*[]*[];
P3Impl: P3~Pass3B+Pass3D+Pass3I+Pass3M+Pass3S+Pass3V+Pass3Xa+Pass3Xb+Pass3Xc;
P3SImpl: P3S~P3SImpl1+P3SImpl2+P3SImpl3].Control;
Pass3P: CompilerUtil~@Pass3P.mesa!2602949868*[]*[];
Pass4: CompilerUtil ~ REC [
P4: TYPE~@P4.mesa!2603999609*[]*[];
[Pass4: TYPE, passPtr: Pass4, Control: CompilerUtil]~@Pass4.mesa!2582484186*[]*[];
P4Impl: P4~
@Pass4B.mesa!2601306169*[]*[] +
@Pass4D.mesa!2601495131*[]*[] +
@Pass4L.mesa!2592259771*[]*[] +
@Pass4S.mesa!2598561226*[]*[] +
@Pass4Ops.mesa!2598561397*[]*[] +
@Pass4Xa.mesa!2603999452*[]*[] +
@Pass4Xb.mesa!2603999678*[]*[] +
@Pass4Xc.mesa!2600959998*[]*[];
ReplOps: TYPE~@ReplOps.mesa!2582486178*[]*[];
ReplOpsImpl: ReplOps~@ReplPack.mesa!2591830934*[]*[]
].Control;
Pass5: CompilerUtil ~ REC [
MPtr: ComData~dataPtr;
-- architecture definitions
Mopcodes: TYPE~@Mopcodes.bcd!636766e29fc3[];
MiscAlpha: TYPE~@MiscAlpha.bcd!6365802eaa5f[];
SDDefs: TYPE~@SDDefs.bcd!63643b269e9f[];
RTSD: TYPE~@RTSD.mesa!2569873867*[]*[];
CodeDefs: TYPE~@CodeDefs.mesa!2584297921*[]*[];
P5: TYPE~@P5.mesa!2584400782*[]*[];
P5L: TYPE~@P5L.mesa!2569781625*[]*[];
P5S: TYPE~@P5S.mesa!2556124833*[]*[];
P5U: TYPE~@P5U.mesa!2584298094*[]*[];
Stack: TYPE~@Stack.mesa!2582582028*[]*[];
Counting: TYPE~@Counting.mesa!2590511737*[]*[];
FOpCodes: TYPE~@FOpCodes.mesa!2569173585*[]*[];
OpCodeParams: TYPE~@OpCodeParams.mesa!2533681227*[]*[];
OpTableDefs: TYPE~@OpTableDefs.mesa!2582580330*[]*[];
[Code: TYPE, CPtr: Code, Control: CompilerUtil]~@Code.mesa!2582580523*[]*[];
P5UImpl: P5U~@CgenUtil.mesa!2588523021*[]*[];
[CodeDefsImpl2: CodeDefs, P5Impl1: P5]~@Temp.mesa!2582583348*[]*[];
[VarUtils: P5L, CodeDefsImpl3: CodeDefs]~@VarUtils.mesa!2582581665*[]*[];
[VarBasics: P5L, CodeDefsImpl4: CodeDefs]~@VarBasics.mesa!2588523156*[]*[];
[VarMove: P5L, CodeDefsImpl5: CodeDefs]~@VarMove.mesa!2582583377*[]*[];
P5LImpl: P5L~VarBasics+VarMove+VarUtils;
[P5Impl2: P5, P5SImpl1: P5S]~@Driver.mesa!2582581951*[]*[];
OpTableDefsImpl: OpTableDefs~@OpTable.mesa!2598476783*[]*[];
P5Impl3: P5~@FOpTable.mesa!2582582203*[]*[];
[CodeDefsImpl7: CodeDefs, P5SImpl2: P5S]~@Address.mesa!2584481069*[]*[];
StackImpl: Stack~@StackImpl.mesa!2591648263*[]*[LCPtr~CPtr];
[CodeDefsImpl9: CodeDefs, P5Impl4: P5, P5SImpl3: P5S]~@Flow.mesa!2588523288*[]*[];
[CodeDefsImpl10: CodeDefs, P5Impl5: P5, P5SImpl4: P5S]~@Calls.mesa!2594568816*[]*[];
[CodeDefsImpl11: CodeDefs, P5Impl6: P5, P5SImpl5: P5S]~@Store.mesa!2584401424*[]*[];
[CountingImpl: Counting,CodeDefsImpl12: CodeDefs]~@CountingImpl.mesa!2597694608*
[]*[];
[CodeDefsImpl13: CodeDefs,P5Impl7: P5]~@Constructor.mesa!2598459180*[]*[];
[CodeDefsImpl14: CodeDefs,P5Impl8: P5]~@Expression.mesa!2603054489*[]*[];
[CodeDefsImpl15: CodeDefs,P5Impl9: P5]~@FlowExpression.mesa!2582582187*[]*[];
[CodeDefsImpl16: CodeDefs,P5Impl10: P5]~@Statement.mesa!2588523795*[]*[];
[CodeDefsImpl17: CodeDefs,P5Impl11: P5]~@Selection.mesa!2588266494*[]*[];
[CodeDefsImpl18: CodeDefs,P5Impl12: P5]~@OutCode.mesa!2588525533*[]*[];
Final ~ REC [
P5F: TYPE~@P5F.mesa!2581270869*[]*[];
PeepholeDefs: TYPE~@PeepholeDefs.mesa!2581273018*[]*[];
Peephole ~ REC [
[CodeDefsImplP: CodeDefs,P5ImplQ: P5, PeepholeQ: PeepholeDefs]~
@PeepholeQ.mesa!2582582246*[]*[];
[P5ImplU: P5, PeepholeU: PeepholeDefs]~@PeepholeU.mesa!2582585920*[]*[];
PeepholeZ: PeepholeDefs~@PeepholeZ.mesa!2582586072*[]*[];
PeepholeDefsImpl: PeepholeDefs~PeepholeQ+PeepholeU+PeepholeZ;
P5ImplP: P5~P5ImplQ+P5ImplU];
PeepholeDefsImpl: PeepholeDefs~Peephole.PeepholeDefsImpl;
[CodeDefsImplF0: CodeDefs, DJumps: P5F]~@DJumps.mesa!2582581938*[]*[];
[CodeDefsImplF1: CodeDefs, CrossJump: P5F]~@CrossJump.mesa!2582580643*[]*[];
[CodeDefsImplF2: CodeDefs,P5Impl13: P5, Final: P5F]~@Final.mesa!2582581988*[]*[];
P5FImpl: P5F~DJumps+CrossJump+Final;
CodeDefsImplF: CodeDefs~
Peephole.CodeDefsImplP+CodeDefsImplF0+CodeDefsImplF1+CodeDefsImplF2;
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~@TypeStrings.mesa!2598552508*[]*[];
TypeStringsImpl: TypeStrings~@TypeStringsImpl.mesa!2598552680*[]*[];
RCMapOps: TYPE~@RCMapOps.mesa!2591914765*[]*[];
RCMapOpsImpl: RCMapOps~@RCMapBuilderImpl.mesa!2594744304*[]*[];
ObjectOut: CompilerUtil~@ObjectOut.mesa!2600962053*[]*[]
].ObjectOut;
--CBinary: TYPE~@CBinary.mesa!2465269358*[]*[];
CBinary: TYPE~@CBinary.bcd[];
CBinaryImpl: CBinary ~ @MesaTab.bcd[]+@ErrorTab.bcd[]+ @DebugTab.bcd[];
CommandUtil: TYPE~@CommandUtil.mesa!2585845958*[]*[];
CommandUtilImpl: CommandUtil~@CommandPack.mesa!2585846832*[]*[];
FileParmOps: TYPE~@FileParmOps.mesa!2571775962*[]*[];
FileParmOpsImpl: FileParmOps~@FileParmPack.mesa!2585852895*[]*[];
[CompilerOpsImpl: CompilerOps, Sequencer: CompilerUtil]~
@Sequencer.mesa!2601415671*[]*[ownSymbols~SymbolPackImplA];
DebugTable: TYPE~@DebugTable.mesa!2550173137*[]*[];
Debug: CompilerUtil~@Debug.mesa!2594743918*[]*[];
CompilerUtilImpl: CompilerUtil~
Sequencer+Pass1+Pass2+Pass3+Pass3P+Pass4+Pass5+BcdOutput+Debug;
[ExecOpsImpl: ExecOps, TemporarySpecialExecOpsImpl: TemporarySpecialExecOps]~
@Interface.mesa!2599085762*[]*[];
TestC: CONTROL~@TestCompilerImpl.mesa!2582044959*[]*[]
]