DIRECTORY ThreeC4BaseDecl1Def, ThreeC4BasicAbTypesDef, ThreeC4OtherModItemsAbGramDef; ThreeC4OtherModItemsAbGramImpl: CEDAR PROGRAM IMPORTS ThreeC4OtherModItemsAbGramDef EXPORTS ThreeC4OtherModItemsAbGramDef= BEGIN OPEN ThreeC4BaseDecl1Def, ThreeC4BasicAbTypesDef, ThreeC4OtherModItemsAbGramDef; -- BaseItemsbaseTypesProd BaseItemsbaseTypesProdProcs: PUBLIC BaseItemsNodeProcs ← NEW[BaseItemsNodeProcsBody ← [BaseItemsbaseTypesProdCollectModuleValueTypes, BaseItemsbaseTypesProdCollectModuleFunctionTypes, BaseItemsbaseTypesProdDefFileCode, BaseItemsbaseTypesProdImplFileCode]]; BuildBaseItemsbaseTypesProdNode: PUBLIC PROC[position: INT, length: INT, IdList: IdListNode] RETURNS[BaseItemsNode] = BEGIN data: BaseItemsbaseTypesProdData ← NEW[BaseItemsbaseTypesProdDataBody←[ IdList]]; RETURN[NEW[BaseItemsNodeBody←[position, length, BaseItemsbaseTypesProdProcs, data]]]; END; -- BaseItemsenumBaseTypeProd BaseItemsenumBaseTypeProdProcs: PUBLIC BaseItemsNodeProcs ← NEW[BaseItemsNodeProcsBody ← [BaseItemsenumBaseTypeProdCollectModuleValueTypes, BaseItemsenumBaseTypeProdCollectModuleFunctionTypes, BaseItemsenumBaseTypeProdDefFileCode, BaseItemsenumBaseTypeProdImplFileCode]]; BuildBaseItemsenumBaseTypeProdNode: PUBLIC PROC[position: INT, length: INT, Identifier: IdentifierNode, IdList: IdListNode] RETURNS[BaseItemsNode] = BEGIN data: BaseItemsenumBaseTypeProdData ← NEW[BaseItemsenumBaseTypeProdDataBody←[ Identifier, IdList]]; RETURN[NEW[BaseItemsNodeBody←[position, length, BaseItemsenumBaseTypeProdProcs, data]]]; END; -- BaseItemsbaseFcnProd BaseItemsbaseFcnProdProcs: PUBLIC BaseItemsNodeProcs ← NEW[BaseItemsNodeProcsBody ← [BaseItemsbaseFcnProdCollectModuleValueTypes, BaseItemsbaseFcnProdCollectModuleFunctionTypes, BaseItemsbaseFcnProdDefFileCode, BaseItemsbaseFcnProdImplFileCode]]; BuildBaseItemsbaseFcnProdNode: PUBLIC PROC[position: INT, length: INT, Identifier: IdentifierNode, ModIdListargs: ModIdListNode, ModIdListresults: ModIdListNode, DamageShareAssertions: DamageShareAssertionsNode] RETURNS[BaseItemsNode] = BEGIN data: BaseItemsbaseFcnProdData ← NEW[BaseItemsbaseFcnProdDataBody←[ Identifier, ModIdListargs, ModIdListresults, DamageShareAssertions]]; RETURN[NEW[BaseItemsNodeBody←[position, length, BaseItemsbaseFcnProdProcs, data]]]; END; -- BaseItemstreeRecFcnProd BaseItemstreeRecFcnProdProcs: PUBLIC BaseItemsNodeProcs ← NEW[BaseItemsNodeProcsBody ← [BaseItemstreeRecFcnProdCollectModuleValueTypes, BaseItemstreeRecFcnProdCollectModuleFunctionTypes, BaseItemstreeRecFcnProdDefFileCode, BaseItemstreeRecFcnProdImplFileCode]]; BuildBaseItemstreeRecFcnProdNode: PUBLIC PROC[position: INT, length: INT, Identifier: IdentifierNode, ModIdListargs: ModIdListNode, ModIdListresults: ModIdListNode, DamageShareAssertions: DamageShareAssertionsNode] RETURNS[BaseItemsNode] = BEGIN data: BaseItemstreeRecFcnProdData ← NEW[BaseItemstreeRecFcnProdDataBody←[ Identifier, ModIdListargs, ModIdListresults, DamageShareAssertions]]; RETURN[NEW[BaseItemsNodeBody←[position, length, BaseItemstreeRecFcnProdProcs, data]]]; END; -- AbGramItemsabTypeProd AbGramItemsabTypeProdProcs: PUBLIC AbGramItemsNodeProcs ← NEW[AbGramItemsNodeProcsBody ← [AbGramItemsabTypeProdCollectModuleValueTypes, AbGramItemsabTypeProdCollectModuleFunctionTypes, AbGramItemsabTypeProdDefFileCode, AbGramItemsabTypeProdImplFileCode]]; BuildAbGramItemsabTypeProdNode: PUBLIC PROC[position: INT, length: INT, Identifier: IdentifierNode, IdList: IdListNode] RETURNS[AbGramItemsNode] = BEGIN data: AbGramItemsabTypeProdData ← NEW[AbGramItemsabTypeProdDataBody←[ Identifier, IdList]]; RETURN[NEW[AbGramItemsNodeBody←[position, length, AbGramItemsabTypeProdProcs, data]]]; END; -- AbGramItemsabProdProd AbGramItemsabProdProdProcs: PUBLIC AbGramItemsNodeProcs ← NEW[AbGramItemsNodeProcsBody ← [AbGramItemsabProdProdCollectModuleValueTypes, AbGramItemsabProdProdCollectModuleFunctionTypes, AbGramItemsabProdProdDefFileCode, AbGramItemsabProdProdImplFileCode]]; BuildAbGramItemsabProdProdNode: PUBLIC PROC[position: INT, length: INT, ModId: ModIdNode, ModIdList: ModIdListNode] RETURNS[AbGramItemsNode] = BEGIN data: AbGramItemsabProdProdData ← NEW[AbGramItemsabProdProdDataBody←[ ModId, ModIdList]]; RETURN[NEW[AbGramItemsNodeBody←[position, length, AbGramItemsabProdProdProcs, data]]]; END; -- AbGramItemsabProdFcnImplProd AbGramItemsabProdFcnImplProdProcs: PUBLIC AbGramItemsNodeProcs ← NEW[AbGramItemsNodeProcsBody ← [AbGramItemsabProdFcnImplProdCollectModuleValueTypes, AbGramItemsabProdFcnImplProdCollectModuleFunctionTypes, AbGramItemsabProdFcnImplProdDefFileCode, AbGramItemsabProdFcnImplProdImplFileCode]]; BuildAbGramItemsabProdFcnImplProdNode: PUBLIC PROC[position: INT, length: INT, AbProductionFcnImpl: AbProductionFcnImplNode] RETURNS[AbGramItemsNode] = BEGIN data: AbGramItemsabProdFcnImplProdData ← NEW[AbGramItemsabProdFcnImplProdDataBody←[ AbProductionFcnImpl]]; RETURN[NEW[AbGramItemsNodeBody←[position, length, AbGramItemsabProdFcnImplProdProcs, data]]]; END; END..