Abstract Types
Program: AbstractType [MakeSymbolTable];
ReferencedProgramList: AbstractType [ReadInTable];
ReferencedProgram: AbstractType [ReadInTable];
DeclarationList: AbstractType [BuildTable, RecordNames];
Declaration: AbstractType [BuildTable, RecordNames];
Type: AbstractType [CanonicaliseType];
CorrespondenceList: AbstractType [CanonicaliseCorrespondenceList, CheckCorrespondenceList];
CandidateList: AbstractType [CanonicaliseCandidateList, EmptyWorkTableOfNames];
FieldList: AbstractType [CanonicaliseFieldList]; -- I want a FIELD type (ajd)
Constant: AbstractType [Coerce, GetCARDINAL, ConstantToRope];
ElementList: AbstractType [CoerceElementList, ElementListConstantToRope, Size];
ComponentList: AbstractType [CoerceComponents, ConstantToRope, CheckAllNames];
Component: AbstractType [CoerceComponents, ConstantToRope, CheckAllNames];
NameList: AbstractType [CheckIfErrorNames, CanonicaliseFieldsFromNameList, CoerceComponentNameList, NameListToRope, EmptyWorkTableOfNames, TypeOfNameList];
number: AbstractType [GetCARDINAL, NumberToCard];
Abstract Type Operations
BuildTable: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
CanonicaliseCandidateList: TreeRecursiveFunction [Tree, CComponent.arg, CType, TABLES.ARG] Returns [CComponent.res, TABLES.RES] DamagedReps [TABLES.ARG] SharedReps [CComponent.arg, CComponent.res];
CanonicaliseCorrespondenceList: TreeRecursiveFunction [Tree, CComponent.arg, TABLES.ARG] Returns [CComponent.res, TABLES.RES] DamagedReps [TABLES.ARG] SharedReps [CComponent.arg, CComponent.res];
CanonicaliseFieldList: TreeRecursiveFunction [Tree, CComponent.arg, TABLES.ARG] Returns [CComponent.res, TABLES.RES] DamagedReps [TABLES.ARG] SharedReps [CComponent.arg, CComponent.res];
CanonicaliseFieldsFromNameList: TreeRecursiveFunction [Tree,
ROPE.arg, CComponent.arg,
TABLES.
ARG] Returns [CComponent.res,
TABLES.
RES] DamagedReps [
TABLES.
ARG] SharedReps [CComponent.arg, CComponent.res];
NOTE: THIS PROBABLY DOES NOT NEED THE TABLES ARGUMENT/RESULT
CanonicaliseType: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [ROPE, CType, TABLES.RES] DamagedReps [TABLES.ARG];
CheckAllNames: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
CheckCorrespondenceList: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
CheckIfErrorNames: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
Coerce: TreeRecursiveFunction [Tree, CType, ROPE, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
CoerceComponentNameList: TreeRecursiveFunction [Tree, Constant, CComponent, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
CoerceComponents: TreeRecursiveFunction [Tree, CComponent, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
CoerceElementList: TreeRecursiveFunction [Tree, CType, ROPE, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
ConstantToRope: TreeRecursiveFunction [Tree, ROPE.arg, TABLES.arg]
Returns [ROPE.res, TABLES.res] DamagedReps [TABLES.arg];
ElementListConstantToRope: TreeRecursiveFunction [Tree, ROPE.arg, TABLES.arg]
Returns [ROPE.res, INT.length, TABLES.res] DamagedReps [TABLES.arg];
EmptyWorkTableOfNames: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
GetCARDINAL: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [CARD, TABLES.RES] DamagedReps [TABLES.ARG];
MakeSymbolTable: TreeRecursiveFunction [Tree] Returns [TABLES.RES];
NumberToCard: TreeRecursiveFunction [Tree] Returns [CARD];
NameListToRope: TreeRecursiveFunction [Tree, ROPE.const] Returns [ROPE.res];
ReadInTable: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
RecordNames: TreeRecursiveFunction [Tree, TABLES.ARG] Returns [TABLES.RES] DamagedReps [TABLES.ARG];
ReturnNodeClass: TreeRecursiveFunction [Tree] Returns [Generic];
Size: TreeRecursiveFunction [Tree, INT.arg] Returns [INT.res] DamagedReps [INT.arg]; --Gets Size of Element List
TypeOfNameList: TreeRecursiveFunction [Tree, ROPE.constantType, TABLES] Returns [ROPE.typeOf];