-- SaffronBaseDef.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 3:50:18 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronGenericDef, Rope; SaffronBaseDef: CEDAR DEFINITIONS = BEGIN OPEN SaffronGenericDef, Rope; True: PROC RETURNS[BOOLEAN]; False: PROC RETURNS[BOOLEAN]; Error: PROC[ROPE] RETURNS[BOOLEAN]; NullId: PROC RETURNS[IdNode]; RopeFromId: PROC[IdNode] RETURNS[ROPE]; RopeFromString: PROC[StringNode] RETURNS[ROPE]; ExpPTreeNode: TYPE = REF ExpPTreeNodeBody; ExpPTreeNodeBody: TYPE; NullExpPTree: PROC RETURNS[ExpPTreeNode]; ScopePTreeNode: TYPE = REF ScopePTreeNodeBody; ScopePTreeNodeBody: TYPE; ModulePPTreeNode: TYPE = REF ModulePPTreeNodeBody; ModulePPTreeNodeBody: TYPE; ReadDefFile: PROC[ROPE] RETURNS[ModulePPTreeNode]; DefBodyPTreeNode: TYPE = REF DefBodyPTreeNodeBody; DefBodyPTreeNodeBody: TYPE; EnvironmentNode: TYPE = REF EnvironmentNodeBody; EnvironmentNodeBody: TYPE; FakeDamageEnvironment: PROC[EnvironmentNode] RETURNS[EnvironmentNode]; CreateEmptyEnvironment: PROC RETURNS[EnvironmentNode]; AddInterfaceToEnvironment: PROC[EnvironmentNode, ROPE, InterfaceValNode] RETURNS[EnvironmentNode]; LookupInterfaceInEnv: PROC[EnvironmentNode, ROPE] RETURNS[InterfaceValNode]; IsInterfaceInEnv: PROC[EnvironmentNode, ROPE] RETURNS[BOOLEAN]; InterfaceValNode: TYPE = REF InterfaceValNodeBody; InterfaceValNodeBody: TYPE; CreateInterfaceFromContextTree: PROC[ContextTreeNode, NameSequenceNode] RETURNS[InterfaceValNode]; LookupInterfaceEntry: PROC[InterfaceValNode, IdNode] RETURNS[AccessValNode, TypeGraphNodeNode]; CreateEmptyInterfaceTGN: PROC[LocalContextNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateLinkTGN: PROC[LocalContextNode, TypeGraphNodeNode, InterfaceValNode, IdNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; AddTGNToInterfaceTGN: PROC[LocalContextNode, TypeGraphNodeNode, IdNode, AccessValNode, TypeGraphNodeNode] RETURNS[LocalContextNode]; CreateInterfaceTGNFromInterface: PROC[LocalContextNode, InterfaceValNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; RenameInterface: PROC[LocalContextNode, IdNode, TypeGraphNodeNode] RETURNS[LocalContextNode]; OpenInterface: PROC[LocalContextNode, TypeGraphNodeNode] RETURNS[LocalContextNode]; ContextRibNode: TYPE = REF ContextRibNodeBody; ContextRibNodeBody: TYPE; RootContextRib: PROC RETURNS[ContextRibNode]; LocalContextNode: TYPE = REF LocalContextNodeBody; LocalContextNodeBody: TYPE; CreateEmptyContext: PROC[ContextRibNode] RETURNS[LocalContextNode]; FreezeLocalContext: PROC[LocalContextNode] RETURNS[ContextRibNode]; FakeDamageContext: PROC[LocalContextNode] RETURNS[LocalContextNode]; ContextTreeNode: TYPE = REF ContextTreeNodeBody; ContextTreeNodeBody: TYPE; EmptyContextTree: PROC[ContextRibNode] RETURNS[ContextTreeNode]; AddSubContextTree: PROC[ContextTreeNode, ContextTreeNode] RETURNS[ContextTreeNode]; FakeDamageContextTree: PROC[ContextTreeNode] RETURNS[ContextTreeNode]; TypeGraphNodeNode: TYPE = REF TypeGraphNodeNodeBody; TypeGraphNodeNodeBody: TYPE; FindBottomTGN: PROC[LocalContextNode] RETURNS[TypeGraphNodeNode]; FindTopTGN: PROC[LocalContextNode] RETURNS[TypeGraphNodeNode]; FindLocallyVisibleTGN: PROC[LocalContextNode, IdNode] RETURNS[TypeGraphNodeNode]; CreateLocallyVisibleTGN: PROC[LocalContextNode, IdNode, AccessValNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; AddArcFromLVTGNToTGN: PROC[LocalContextNode, TypeGraphNodeNode, AccessValNode, TypeGraphNodeNode, DefaultExpNode] RETURNS[LocalContextNode]; CreateRecordTGN: PROC[LocalContextNode, PaintNode, BOOLEAN, BOOLEAN, FrozenFieldListNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateRefTGN: PROC[LocalContextNode, BOOLEAN, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateEmptyEnumTypeTGN: PROC[LocalContextNode, BOOLEAN] RETURNS[LocalContextNode, TypeGraphNodeNode]; AppendElementToEnumTypeTGN: PROC[LocalContextNode, TypeGraphNodeNode, IdNode, ExpPTreeNode] RETURNS[LocalContextNode]; CreateVariantPartTGN: PROC[LocalContextNode, VariantFlavorNode, TypeGraphNodeNode, UnionListNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateSequenceTGN: PROC[LocalContextNode, BOOLEAN, IdNode, PositionValNode, AccessValNode, TypeGraphNodeNode, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateSubrangeTGN: PROC[LocalContextNode, TypeGraphNodeNode, BoundsValNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreatePointerTGN: PROC[LocalContextNode, BOOLEAN, BOOLEAN, BoundsValNode, BOOLEAN, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateVarTGN: PROC[LocalContextNode, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateListTGN: PROC[LocalContextNode, BOOLEAN, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateArrayTGN: PROC[LocalContextNode, BOOLEAN, TypeGraphNodeNode, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateDescriptorTGN: PROC[LocalContextNode, BOOLEAN, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateTransferTGN: PROC[LocalContextNode, BOOLEAN, ROPE, FrozenFieldListNode, FrozenFieldListNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateRelativeTGN: PROC[LocalContextNode, TypeGraphNodeNode, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateZoneTGN: PROC[LocalContextNode, BOOLEAN] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateLongTGN: PROC[LocalContextNode, TypeGraphNodeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; FindFrameTGN: PROC[LocalContextNode, IdNode] RETURNS[TypeGraphNodeNode]; CreateSpecianatedTGNUsingExp: PROC[LocalContextNode, TypeGraphNodeNode, ExpPTreeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateSpecianatedTGNUsingId: PROC[LocalContextNode, TypeGraphNodeNode, IdNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; CreateOpaqueTGN: PROC[LocalContextNode, PaintNode, ExpPTreeNode] RETURNS[LocalContextNode, TypeGraphNodeNode]; FieldNode: TYPE = REF FieldNodeBody; FieldNodeBody: TYPE; FieldListNode: TYPE = REF FieldListNodeBody; FieldListNodeBody: TYPE; FrozenFieldListNode: TYPE = REF FrozenFieldListNodeBody; FrozenFieldListNodeBody: TYPE; AnyFieldList: PROC RETURNS[FieldListNode]; CreateNamedField: PROC[IdNode, PositionValNode, AccessValNode, TypeGraphNodeNode, DefaultExpNode] RETURNS[FieldNode]; CreateUnnamedField: PROC[TypeGraphNodeNode, DefaultExpNode] RETURNS[FieldNode]; CreateEmptyFieldList: PROC RETURNS[FieldListNode]; AppendFieldToFieldList: PROC[FieldListNode, FieldNode] RETURNS[FieldListNode]; FreezeFieldList: PROC[LocalContextNode, FieldListNode] RETURNS[LocalContextNode, FrozenFieldListNode]; UnionListNode: TYPE = REF UnionListNodeBody; UnionListNodeBody: TYPE; CreateEmptyUnionList: PROC RETURNS[UnionListNode]; AppendToUnionList: PROC[UnionListNode, IdNode, FrozenFieldListNode] RETURNS[UnionListNode]; VariantFlavorNode: TYPE = REF VariantFlavorNodeBody; VariantFlavorNodeBody: TYPE; OverlaidVariantFlavorConst: PROC RETURNS[VariantFlavorNode]; ComputedVariantFlavorConst: PROC RETURNS[VariantFlavorNode]; VanillaVariantFlavorVal: PROC[IdNode, PositionValNode, AccessValNode] RETURNS[VariantFlavorNode]; PaintNode: TYPE = REF PaintNodeBody; PaintNodeBody: TYPE; GetUnpaintedPaint: PROC[LocalContextNode] RETURNS[LocalContextNode, PaintNode]; GetUniquePaint: PROC[LocalContextNode] RETURNS[LocalContextNode, PaintNode]; BoundsValNode: TYPE = REF BoundsValNodeBody; BoundsValNodeBody: TYPE; NullBounds: PROC RETURNS[BoundsValNode]; BoundsValFun: PROC[ROPE, ExpPTreeNode, ExpPTreeNode, ROPE] RETURNS[BoundsValNode]; PositionValNode: TYPE = REF PositionValNodeBody; PositionValNodeBody: TYPE; NullPosition: PROC RETURNS[PositionValNode]; PositionValFun: PROC[ExpPTreeNode, BoundsValNode] RETURNS[PositionValNode]; AccessValNode: TYPE = REF AccessValNodeBody; AccessValNodeBody: TYPE; AccessValConst: PROC[ROPE] RETURNS[AccessValNode]; NullAccessVal: PROC RETURNS[AccessValNode]; DefaultExpNode: TYPE = REF DefaultExpNodeBody; DefaultExpNodeBody: TYPE; DefaultExpVal: PROC[ROPE, ExpPTreeNode] RETURNS[DefaultExpNode]; NullDefaultVal: PROC RETURNS[DefaultExpNode]; NameSequenceNode: TYPE = REF NameSequenceNodeBody; NameSequenceNodeBody: TYPE; EmptyNameSequence: PROC RETURNS[NameSequenceNode]; InsertNameOnNameSequence: PROC[IdNode, NameSequenceNode] RETURNS[NameSequenceNode]; END..