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];
}.