SiroccoBaseDef.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at August 26, 1987 3:38:09 pm PDT
using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT
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..