DIRECTORY Rope, SiroccoPrivate, WartDef; AbstractTypesDef: CEDAR DEFINITIONS = BEGIN OPEN Rope, SiroccoPrivate, WartDef; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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]; 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.. ÀProgram ReferencedProgramList ReferencedProgram DeclarationList Declaration Type CorrespondenceList CandidateList FieldList Constant ElementList ComponentList Component NameList number Ê T˜šÏk ˜ J˜J˜J˜—J˜JšÏnœœ œ˜&Jš˜Jšœ˜#J˜Jšœ™J˜Jšœ œœ˜(šœœœ˜Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜2Jšœœœ˜$˜Jšžœ˜*—J˜J˜Jšœ™J˜Jšœœœ˜Dšœœœ˜-Jšœ œ œ˜J˜&Jšœœœ˜—J˜Jšœ œœ$˜NJšœ$œœ˜2˜Jšž œ˜"—J˜J˜Jšœ™J˜Jšœœœ˜<šœœœ˜)Jšœ œ œ˜J˜"Jšœœœ˜—J˜Jšœœœ ˜FJšœ œœ˜.˜Jšž œ˜"—J˜J˜Jšœ™J˜Jšœœœ˜8šœœœ˜'Jšœ œ œ˜J˜ Jšœœœ˜—J˜Jšœœœ˜BJšœœœ˜,˜Jšž œ˜ Jšž œ˜"—J˜J˜Jšœ ™ J˜Jšœœœ˜0šœœœ˜#Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜:Jšœœœ˜(˜Jšž œ˜ Jšž œ˜"—J˜J˜Jšœ™J˜Jšœ œœ˜"šœœœ˜Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜,Jšœœœ˜!˜Jšžœ˜,—J˜J˜Jšœ™J˜Jšœœœ˜>šœœœ˜*Jšœ œ œ˜J˜#Jšœœœ˜—J˜Jšœœœ!˜HJšœ!œœ˜/˜Jšžœ*˜HJšžœ#˜:—J˜J˜Jšœ ™ J˜Jšœœœ˜4šœœœ˜%Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜>Jšœœœ˜*˜Jšžœ%˜>Jšžœ!˜6—J˜J˜Jšœ ™ J˜Jšœœœ˜,šœœœ˜!Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜6Jšœœœ˜&˜Jšžœ!˜6—J˜J˜Jšœ™J˜Jšœœœ˜*šœœœ˜ Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜4Jšœœœ˜%˜Jšžœ˜Jšž œ˜"Jšžœ˜(—J˜J˜Jšœ ™ J˜Jšœœœ˜0šœœœ˜#Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜:Jšœœœ˜(˜Jšžœ˜.Jšžœ˜(Jšžœ˜Jšžœ˜.—J˜J˜Jšœ ™ J˜Jšœœœ˜4šœœœ˜%Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜>Jšœœœ˜*˜Jšžœ˜,Jšžœ˜(Jšž œ˜&—J˜J˜Jšœ ™ J˜Jšœœœ˜,šœœœ˜!Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜6Jšœœœ˜&˜Jšžœ˜,Jšžœ˜(Jšž œ˜&—J˜J˜Jšœ™J˜Jšœœœ˜*šœœœ˜ Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜4Jšœœœ˜%˜Jšžœ˜.Jšžœ*˜HJšžœ#˜:Jšžœ˜(Jšžœ!˜6Jšžœ˜(—J˜J˜Jšœ™J˜Jšœ œœ˜&šœœœ˜Jšœ œ œ˜J˜Jšœœœ˜—J˜Jšœœœ˜0Jšœœœ˜#˜Jšž œ˜"Jšž œ˜$—J˜Jšœœœœœœœœ˜AJ˜Jšœ#œœœœœœ œ˜oJ˜Jšœ(œœœœœœ œ˜mJ˜Jšœœœœœœœ œ˜dJ˜Jšœ(œœœœœœœ œ˜sJ˜Jšœœœœœœœœ œ˜TJ˜Jšœœœœœœœœ˜DJ˜Jšœ!œœœœœœœ˜NJ˜Jšœœœœœœœœ˜HJ˜Jšœœœœœ œœœœ˜JJ˜Jšœ!œœœœœœœ˜hJ˜Jšœœœœœœœœ˜SJ˜Jšœœœœœ œœœœ˜UJ˜Jšœœœœœœœœœœœœ˜yJ˜Jšœœœœœœœœœœœœœ˜J˜Jšœœœœœœœœ˜LJ˜Jšœœœœœœœœœ˜HJ˜Jš œœœœœœœ˜>J˜Jš œœœœœœœ˜9J˜Jšœœœœœœœœœœ˜OJ˜Jšœœœœœœœœ˜BJ˜Jšœœœœœœœœ˜BJ˜Jš œœœœœœ ˜?J˜Jšœœœœœœœœ˜5J˜Jšœœœœœœœœœ˜IJ˜Jšœ˜J˜—…—(+<