<> <> <> <> DIRECTORY SymTab, Rope, SiroccoPrivate, SiroccoCGDef, SiroccoATDef; SiroccoBaseDef: CEDAR DEFINITIONS = BEGIN OPEN SymTab, Rope, SiroccoPrivate, SiroccoCGDef, SiroccoATDef; card: PROC[INT] RETURNS[CARD]; int: PROC[CARD] RETURNS[INT]; nat: PROC[INT] RETURNS[NAT]; TextFromID: PROC[idNode] RETURNS[ROPE]; CardFromDecimal: PROC[decimalNode] RETURNS[CARD]; CardFromOctal: PROC[octalNode] RETURNS[CARD]; CardFromHex: PROC[hexNode] RETURNS[CARD]; GetRopeFromRope: PROC[ropeNode] RETURNS[ROPE]; False: PROC RETURNS[BOOLEAN]; True: PROC RETURNS[BOOLEAN]; AddOne: PROC[INT] RETURNS[INT]; Add: PROC[INT, INT] RETURNS[INT]; Subtract: PROC[INT, INT] RETURNS[INT]; Copy: PROC[ROPE, CType, ConstantNode, TABLES] RETURNS[ROPE, CType, ConstantNode, TABLES]; CopyAll: PROC[ROPE, FunctionList, TABLES] RETURNS[ROPE, FunctionList, TABLES]; CopyCComponent: PROC[CComponent] RETURNS[CComponent]; CopyFunctionList: PROC[FunctionList] RETURNS[FunctionList]; CopyRope: PROC[ROPE] RETURNS[ROPE]; CopyTables: PROC[TABLES] RETURNS[TABLES]; CreateKey: PROC[idNode] RETURNS[Key]; RopeFromKey: PROC[Key] RETURNS[ROPE]; ImportItem: PROC[TABLES, Key, Key] RETURNS[InterfaceItem]; TypeNameForItem: PROC[InterfaceItem] RETURNS[ROPE]; ConstantForItem: PROC[InterfaceItem] RETURNS[ROPE]; ValueFromName: PROC[ROPE] RETURNS[CARD]; CreateTables: PROC RETURNS[TABLES]; DiskToTable: PROC[ROPE, CARD, CARD] RETURNS[SCOPE]; TableMerge: PROC[TABLES, TABLES] RETURNS[TABLES]; UpdateItem: PROC[TypeGraph, ROPE, TypeGraphNode, AbstractValue] RETURNS[TypeGraph]; CreateContext: PROC[RIB, SCOPE, ROPE, CARD, CARD] RETURNS[CONTEXT]; ItemFromContext: PROC[CONTEXT, ROPE] RETURNS[ITEM]; EmptyScope: PROC RETURNS[SCOPE]; MakeItem: PROC[ROPE, INT, ItemKind] RETURNS[ITEM]; ItemConcat: PROC[SCOPE, ITEM] RETURNS[SCOPE]; ItemFromScope: PROC[SCOPE, ROPE] RETURNS[ITEM]; EmptyRIB: PROC RETURNS[RIB]; ScopeConcat: PROC[RIB, SCOPE] RETURNS[RIB]; ScopeFromRIB: PROC[RIB, ROPE] RETURNS[SCOPE]; CreateBaseTypeTGN: PROC[BaseTypeKind] RETURNS[TypeGraphNode]; CreateEmptyTGN: PROC[CONTEXT] RETURNS[TypeGraph]; CreatePrimitiveTGN: PROC[Generic] RETURNS[TypeGraphNode]; CreateArrayTGN: PROC[AbstractValue, TypeGraphNode] RETURNS[TypeGraphNode]; CreateChoiceTGN: PROC[TypeGraphNode, TypeGraphNode] RETURNS[TypeGraphNode]; CreateDerefTGN: PROC[CONTEXT, ROPE] RETURNS[TypeGraphNode]; CreateEnumerationTGN: PROC[TypeGraphNode] RETURNS[TypeGraphNode]; CreateErrorTGN: PROC[TypeGraphNode] RETURNS[TypeGraphNode]; CreateLinkTGN: PROC[CONTEXT, ROPE, ROPE] RETURNS[TypeGraphNode]; CreateProcTGN: PROC[TypeGraphNode, TypeGraphNode, TypeGraphNode] RETURNS[TypeGraphNode]; CreateRecordTGN: PROC[TypeGraphNode] RETURNS[TypeGraphNode]; CreateSequenceTGN: PROC[AbstractValue, TypeGraphNode] RETURNS[TypeGraphNode]; CreateFieldListTGN: PROC[ROPE, AbstractValue] RETURNS[TypeGraphNode]; CreateUnionTGN: PROC[TypeGraphNode, TypeGraphNode] RETURNS[TypeGraphNode]; CreateFieldTGN: PROC[TypeGraphNode, TypeGraphNode] RETURNS[TypeGraphNode]; CreateEmptyFieldTGN: PROC RETURNS[TypeGraphNode]; FieldListTGNConcat: PROC[TypeGraphNode, TypeGraphNode] RETURNS[TypeGraphNode]; UnionTGNConcat: PROC[TypeGraphNode, TypeGraphNode] RETURNS[TypeGraphNode]; FieldTGNConcat: PROC[TypeGraphNode, TypeGraphNode] RETURNS[TypeGraphNode]; CreateNullAVN: PROC RETURNS[AbstractValue]; CreateLogicalAVN: PROC[BOOLEAN] RETURNS[AbstractValue]; CreateNumericalAVN: PROC[CARD] RETURNS[AbstractValue]; CreateRopeAVN: PROC[ROPE] RETURNS[AbstractValue]; CreateBindingAVN: PROC[TypeGraphNode, AbstractValue] RETURNS[AbstractValue]; CreateConstructorAVN: PROC[AbstractValue] RETURNS[AbstractValue]; CreateDerefAVN: PROC[CONTEXT, ROPE] RETURNS[AbstractValue]; CreateGroupingAVN: PROC[AbstractValue] RETURNS[AbstractValue]; CreateLinkAVN: PROC[CONTEXT, ROPE, ROPE] RETURNS[AbstractValue]; CreateNegativeAVN: PROC[AbstractValue] RETURNS[AbstractValue]; CreateVariantAVN: PROC[ROPE, AbstractValue] RETURNS[AbstractValue]; ConstructorAVNConcat: PROC[AbstractValue, AbstractValue] RETURNS[AbstractValue]; GroupingAVNConcat: PROC[AbstractValue, AbstractValue] RETURNS[AbstractValue]; AssertTypeGraphAcyclic: PROC[TypeGraph] RETURNS[BOOLEAN]; AssertValueGraphAcyclic: PROC[TypeGraph] RETURNS[BOOLEAN]; CheckCanonicalType: PROC[ROPE, ROPE] RETURNS[BOOLEAN]; CheckResultsForSourceAndSink: PROC[CComponent] RETURNS[BOOLEAN]; CompareTypes: PROC[CType, CType, TABLES] RETURNS[INT]; GetCType: PROC[ROPE, CComponent, TABLES] RETURNS[CType, ROPE]; GetLengthOfCComponentList: PROC[CComponent, INT] RETURNS[INT]; SeeIfArrOrSeq: PROC[CType, INT, TABLES] RETURNS[CType, ROPE]; GetCTypeFirstChild: PROC[CType] RETURNS[CComponent]; MkCComponent: PROC[ROPE, INT, ROPE, CComponent] RETURNS[CComponent]; MkCType: PROC[Generic, INT, CComponent] RETURNS[CType]; MkNILCComponent: PROC RETURNS[CComponent]; MkPrimitiveCType: PROC[Generic] RETURNS[CType, ROPE]; FetchFromTypeTable: PROC[TABLES, ROPE] RETURNS[CType]; GetObjectName: PROC[ROPE, TABLES] RETURNS[ROPE]; Remove: PROC[ROPE, TABLES] RETURNS[TABLES]; SendError: PROC[ROPE] RETURNS[CARD]; ClearWorkTable: PROC[TABLES] RETURNS[TABLES]; EnterNamesIntoWorkTable: PROC[CType, TABLES] RETURNS[TABLES]; FillWorkTable: PROC[CType, TABLES] RETURNS[TABLES]; LocalConstantToRope: PROC[ROPE, ROPE, TABLES] RETURNS[ROPE, TABLES]; CanonicalLocalReferenceType: PROC[ROPE, TABLES] RETURNS[ROPE, CType, TABLES]; GetConstantType: PROC[ROPE, TABLES] RETURNS[ROPE, CType, ConstantNode, TABLES]; TryToCoerceNumber: PROC[CType, CARD] RETURNS[INT]; Array: PROC[ROPE, TABLES] RETURNS[BOOLEAN]; CheckIfEmpty: PROC[TABLES] RETURNS[BOOLEAN]; CompareClass: PROC[CType, Generic] RETURNS[CComponent]; InsureErrorType: PROC[ROPE, TABLES] RETURNS[TABLES]; IsEnumerationConstant: PROC[CType, ROPE] RETURNS[INT]; NotEnumeration: PROC[CType] RETURNS[BOOLEAN]; SeeIfDuplicated: PROC[TABLES, ROPE, CARD] RETURNS[TABLES]; SeeIfInt: PROC[CType] RETURNS[BOOLEAN]; AddFunctionList: PROC[Val, FunctionList] RETURNS[FunctionList]; AddFunctionToTable: PROC[Val, FunctionList, TABLES] RETURNS[TABLES]; ConsFunctionList: PROC[FunctionList, ROPE] RETURNS[FunctionList]; GetTypeOfComponent: PROC[ROPE, ROPE, TABLES] RETURNS[ROPE]; GetTypeOfElement: PROC[ROPE, TABLES] RETURNS[ROPE]; TypeOfSequence: PROC[ROPE, TABLES] RETURNS[ROPE]; END..