DIRECTORY ThreeC4RecFcnDeclDef, ThreeC4BasicAbTypesDef; ThreeC4FlowGraphAbGramDef: CEDAR DEFINITIONS = BEGIN OPEN ThreeC4RecFcnDeclDef, ThreeC4BasicAbTypesDef; SlotNode: TYPE = REF SlotNodeBody; SlotNodeBody: TYPE; -- DamageShareAssertionsemptyProd DamageShareAssertionsemptyProdData: TYPE = REF DamageShareAssertionsemptyProdDataBody; DamageShareAssertionsemptyProdDataBody: TYPE = RECORD[ ]; DamageShareAssertionsemptyProdProcs: DamageShareAssertionsNodeProcs; BuildDamageShareAssertionsemptyProdNode: PROC[position: INT, length: INT] RETURNS[DamageShareAssertionsNode]; DamageShareAssertionsemptyProdFormRecordOfDamageShareAssertion: FormRecordOfDamageShareAssertionProcType; -- DamageShareAssertionsmanyProd DamageShareAssertionsmanyProdData: TYPE = REF DamageShareAssertionsmanyProdDataBody; DamageShareAssertionsmanyProdDataBody: TYPE = RECORD[ DamageShareAssertions: DamageShareAssertionsNode, DamageShareAssertion: DamageShareAssertionNode]; DamageShareAssertionsmanyProdProcs: DamageShareAssertionsNodeProcs; BuildDamageShareAssertionsmanyProdNode: PROC[position: INT, length: INT, DamageShareAssertions: DamageShareAssertionsNode, DamageShareAssertion: DamageShareAssertionNode] RETURNS[DamageShareAssertionsNode]; DamageShareAssertionsmanyProdFormRecordOfDamageShareAssertion: FormRecordOfDamageShareAssertionProcType; --DamageShareAssertion DamageShareAssertionNode: TYPE = REF DamageShareAssertionNodeBody; DamageShareAssertionNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: DamageShareAssertionNodeProcs, data: REF ANY]; DamageShareAssertionNodeProcs: TYPE = REF DamageShareAssertionNodeProcsBody; DamageShareAssertionNodeProcsBody: TYPE = RECORD[ FormRecordOfDamageShareAssertion: FormRecordOfDamageShareAssertionProcType]; -- DamageShareAssertiondamagedRepsProd DamageShareAssertiondamagedRepsProdData: TYPE = REF DamageShareAssertiondamagedRepsProdDataBody; DamageShareAssertiondamagedRepsProdDataBody: TYPE = RECORD[ ModIdList: ModIdListNode]; DamageShareAssertiondamagedRepsProdProcs: DamageShareAssertionNodeProcs; BuildDamageShareAssertiondamagedRepsProdNode: PROC[position: INT, length: INT, ModIdList: ModIdListNode] RETURNS[DamageShareAssertionNode]; DamageShareAssertiondamagedRepsProdFormRecordOfDamageShareAssertion: FormRecordOfDamageShareAssertionProcType; -- DamageShareAssertionsharedRepsProd DamageShareAssertionsharedRepsProdData: TYPE = REF DamageShareAssertionsharedRepsProdDataBody; DamageShareAssertionsharedRepsProdDataBody: TYPE = RECORD[ ModIdList: ModIdListNode]; DamageShareAssertionsharedRepsProdProcs: DamageShareAssertionNodeProcs; BuildDamageShareAssertionsharedRepsProdNode: PROC[position: INT, length: INT, ModIdList: ModIdListNode] RETURNS[DamageShareAssertionNode]; DamageShareAssertionsharedRepsProdFormRecordOfDamageShareAssertion: FormRecordOfDamageShareAssertionProcType; END..