DIRECTORY
Rope,
SiroccoPrivate,
WartDef;
AbstractTypesDef: CEDAR DEFINITIONS =
BEGIN
OPEN Rope, SiroccoPrivate, WartDef;
Program
ProgramNode: TYPE = REF ProgramNodeBody;
ProgramNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ProgramNodeProcs,
data: REF ANY];
ProgramNodeProcs: TYPE = REF ProgramNodeProcsBody;
ProgramNodeProcsBody: TYPE = RECORD[
MakeSymbolTable: MakeSymbolTableProcType];
ReferencedProgramList
ReferencedProgramListNode: TYPE = REF ReferencedProgramListNodeBody;
ReferencedProgramListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ReferencedProgramListNodeProcs,
data: REF ANY];
ReferencedProgramListNodeProcs: TYPE = REF ReferencedProgramListNodeProcsBody;
ReferencedProgramListNodeProcsBody: TYPE = RECORD[
ReadInTable: ReadInTableProcType];
ReferencedProgram
ReferencedProgramNode: TYPE = REF ReferencedProgramNodeBody;
ReferencedProgramNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ReferencedProgramNodeProcs,
data: REF ANY];
ReferencedProgramNodeProcs: TYPE = REF ReferencedProgramNodeProcsBody;
ReferencedProgramNodeProcsBody: TYPE = RECORD[
ReadInTable: ReadInTableProcType];
DeclarationList
DeclarationListNode: TYPE = REF DeclarationListNodeBody;
DeclarationListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: DeclarationListNodeProcs,
data: REF ANY];
DeclarationListNodeProcs: TYPE = REF DeclarationListNodeProcsBody;
DeclarationListNodeProcsBody: TYPE = RECORD[
BuildTable: BuildTableProcType,
RecordNames: RecordNamesProcType];
Declaration
DeclarationNode: TYPE = REF DeclarationNodeBody;
DeclarationNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: DeclarationNodeProcs,
data: REF ANY];
DeclarationNodeProcs: TYPE = REF DeclarationNodeProcsBody;
DeclarationNodeProcsBody: TYPE = RECORD[
BuildTable: BuildTableProcType,
RecordNames: RecordNamesProcType];
Type
TypeNode: TYPE = REF TypeNodeBody;
TypeNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: TypeNodeProcs,
data: REF ANY];
TypeNodeProcs: TYPE = REF TypeNodeProcsBody;
TypeNodeProcsBody: TYPE = RECORD[
CanonicaliseType: CanonicaliseTypeProcType];
CorrespondenceList
CorrespondenceListNode: TYPE = REF CorrespondenceListNodeBody;
CorrespondenceListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: CorrespondenceListNodeProcs,
data: REF ANY];
CorrespondenceListNodeProcs: TYPE = REF CorrespondenceListNodeProcsBody;
CorrespondenceListNodeProcsBody: TYPE = RECORD[
CanonicaliseCorrespondenceList: CanonicaliseCorrespondenceListProcType,
CheckCorrespondenceList: CheckCorrespondenceListProcType];
CandidateList
CandidateListNode: TYPE = REF CandidateListNodeBody;
CandidateListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: CandidateListNodeProcs,
data: REF ANY];
CandidateListNodeProcs: TYPE = REF CandidateListNodeProcsBody;
CandidateListNodeProcsBody: TYPE = RECORD[
CanonicaliseCandidateList: CanonicaliseCandidateListProcType,
EmptyWorkTableOfNames: EmptyWorkTableOfNamesProcType];
FieldList
FieldListNode: TYPE = REF FieldListNodeBody;
FieldListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: FieldListNodeProcs,
data: REF ANY];
FieldListNodeProcs: TYPE = REF FieldListNodeProcsBody;
FieldListNodeProcsBody: TYPE = RECORD[
CanonicaliseFieldList: CanonicaliseFieldListProcType];
Constant
ConstantNode: TYPE = REF ConstantNodeBody;
ConstantNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ConstantNodeProcs,
data: REF ANY];
ConstantNodeProcs: TYPE = REF ConstantNodeProcsBody;
ConstantNodeProcsBody: TYPE = RECORD[
Coerce: CoerceProcType,
GetCARDINAL: GetCARDINALProcType,
ConstantToRope: ConstantToRopeProcType];
ElementList
ElementListNode: TYPE = REF ElementListNodeBody;
ElementListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ElementListNodeProcs,
data: REF ANY];
ElementListNodeProcs: TYPE = REF ElementListNodeProcsBody;
ElementListNodeProcsBody: TYPE = RECORD[
CoerceElementList: CoerceElementListProcType,
ConstantToRope: ConstantToRopeProcType,
Size: SizeProcType,
ConstructFunction: ConstructFunctionProcType];
ComponentList
ComponentListNode: TYPE = REF ComponentListNodeBody;
ComponentListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ComponentListNodeProcs,
data: REF ANY];
ComponentListNodeProcs: TYPE = REF ComponentListNodeProcsBody;
ComponentListNodeProcsBody: TYPE = RECORD[
CoerceComponents: CoerceComponentsProcType,
ConstantToRope: ConstantToRopeProcType,
CheckAllNames: CheckAllNamesProcType];
Component
ComponentNode: TYPE = REF ComponentNodeBody;
ComponentNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: ComponentNodeProcs,
data: REF ANY];
ComponentNodeProcs: TYPE = REF ComponentNodeProcsBody;
ComponentNodeProcsBody: TYPE = RECORD[
CoerceComponents: CoerceComponentsProcType,
ConstantToRope: ConstantToRopeProcType,
CheckAllNames: CheckAllNamesProcType];
NameList
NameListNode: TYPE = REF NameListNodeBody;
NameListNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: NameListNodeProcs,
data: REF ANY];
NameListNodeProcs: TYPE = REF NameListNodeProcsBody;
NameListNodeProcsBody: TYPE = RECORD[
CheckIfErrorNames: CheckIfErrorNamesProcType,
CanonicaliseFieldsFromNameList: CanonicaliseFieldsFromNameListProcType,
CoerceComponentNameList: CoerceComponentNameListProcType,
NameListToRope: NameListToRopeProcType,
EmptyWorkTableOfNames: EmptyWorkTableOfNamesProcType,
TypeOfNameList: TypeOfNameListProcType];
number
numberNode: TYPE = REF numberNodeBody;
numberNodeBody: TYPE = RECORD[
position: INT, length: INT,
procs: numberNodeProcs,
data: REF ANY];
numberNodeProcs: TYPE = REF numberNodeProcsBody;
numberNodeProcsBody: TYPE = RECORD[
GetCARDINAL: GetCARDINALProcType,
NumberToCard: NumberToCardProcType];
BuildTableProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[TABLES];
CanonicaliseCandidateListProcType: TYPE = PROC[REF ANY, CComponent, CType, TABLES] RETURNS[CComponent, TABLES];
CanonicaliseCorrespondenceListProcType: TYPE = PROC[REF ANY, CComponent, TABLES] RETURNS[CComponent, TABLES];
CanonicaliseFieldListProcType: TYPE = PROC[REF ANY, CComponent, TABLES] RETURNS[CComponent, TABLES];
CanonicaliseFieldsFromNameListProcType: TYPE = PROC[REF ANY, ROPE, CComponent, TABLES] RETURNS[CComponent, TABLES];
CanonicaliseTypeProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[ROPE, CType, TABLES];
CheckAllNamesProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[TABLES];
CheckCorrespondenceListProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[TABLES];
CheckIfErrorNamesProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[TABLES];
CoerceProcType: TYPE = PROC[REF ANY, CType, ROPE, TABLES] RETURNS[TABLES];
CoerceComponentNameListProcType: TYPE = PROC[REF ANY, ConstantNode, CComponent, TABLES] RETURNS[TABLES];
CoerceComponentsProcType: TYPE = PROC[REF ANY, CComponent, TABLES] RETURNS[TABLES];
CoerceElementListProcType: TYPE = PROC[REF ANY, CType, ROPE, TABLES] RETURNS[TABLES];
ConstantToRopeProcType: TYPE = PROC[REF ANY, ROPE, ROPE, FunctionList, ROPE, TABLES] RETURNS[ROPE, FunctionList, TABLES];
ConstructFunctionProcType: TYPE = PROC[REF ANY, INT, ROPE, ROPE, ROPE, FunctionList, TABLES] RETURNS[ROPE, FunctionList, TABLES];
EmptyWorkTableOfNamesProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[TABLES];
GetCARDINALProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[CARD, TABLES];
MakeSymbolTableProcType: TYPE = PROC[REF ANY] RETURNS[TABLES];
NumberToCardProcType: TYPE = PROC[REF ANY] RETURNS[CARD];
NameListToRopeProcType: TYPE = PROC[REF ANY, ROPE, ROPE, TABLES] RETURNS[ROPE];
ReadInTableProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[TABLES];
RecordNamesProcType: TYPE = PROC[REF ANY, TABLES] RETURNS[TABLES];
ReturnNodeClassProcType: TYPE = PROC[REF ANY] RETURNS[Generic];
SizeProcType: TYPE = PROC[REF ANY, INT] RETURNS[INT];
TypeOfNameListProcType: TYPE = PROC[REF ANY, ROPE, TABLES] RETURNS[ROPE];
END..