SaffronContext.Mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Sturgis, July 15, 1987 12:56:40 pm PDT
Bill Jackson (bj) August 11, 1987 4:54:35 pm PDT
Last edited by: James Rauen July 25, 1988 6:34:10 pm PDT
DIRECTORY
IO USING [ STREAM ],
SaffronBaseDef USING [CompilerStateNode, ContextRibNode, ContextTreeNode, DependencyGraphNode, EnvironmentNode, FieldListNode, FieldNode, FrozenFieldListNode, LocalContextNode, ProgramGraphNode, TypeGraphNodeNode, ValueNode],
SaffronTargetArchitecture USING [TargetArchitecture];
SaffronContext:
CEDAR
DEFINITIONS ~ {
OPEN BD: SaffronBaseDef, TA: SaffronTargetArchitecture;
Various base functions
not in SaffronBaseDecls because unused by Saffron generated code.
PrependFieldToFieldList: PROC [ f: BD.FieldNode, fl: BD.FieldListNode ]
RETURNS [ flp: BD.FieldListNode ];
PrependFFLToFieldList: PROC [ ffl: BD.FrozenFieldListNode, fl: BD.FieldListNode ]
RETURNS [ flp: BD.FieldListNode ];
AppendFFLToFieldList:
PROC [ fl:
BD.FieldListNode, ffl:
BD.FrozenFieldListNode ]
RETURNS [ flp:
BD.FieldListNode ];
(all damage fl, produces no Sharing)
ConcatFieldLists:
PROC [ fl1, fl2:
BD.FieldListNode ]
RETURNS [ fl:
BD.FieldListNode ];
(damages fl1, shares <fl2, fl> )
CreateRootContextRib: PROC [ta: TA.TargetArchitecture] RETURNS [rootContextRib: BD.ContextRibNode, top, bottom: BD.TypeGraphNodeNode];
misc stuff
ErrorSignal: ERROR;
ShowLocalContext: PROC [ on: IO.STREAM, nest: INT, lc: BD.LocalContextNode, cs: BD.CompilerStateNode ];
ShowContextTree: PROC [ on: IO.STREAM, nest: INT, ct: BD.ContextTreeNode, cs: BD.CompilerStateNode ];
ShowEnvironment: PROC[on: IO.STREAM, nest: INT, env: BD.EnvironmentNode, cs: BD.CompilerStateNode];
Exported by SaffronContextCreateCTImpl
LookupNameInFieldList: PROC [fields: BD.FieldListNode, name: GEN.IdNode] RETURNS [BD.FieldNode];
Exported by SaffronValueImpl
ShowValue: PROC [on: IO.STREAM, nest: INT, value: BD.ValueNode];
Exported by SaffronDeclarationAnalysisImpl
ShowDependencyGraph: PROC [on: IO.STREAM, nest: INT, dg: BD.DependencyGraphNode];
Exported by SaffronShowProgramGraphImpl
ShowProgramGraph: PROC [on: IO.STREAM, nest: INT, pg: BD.ProgramGraphNode];
}.