DIRECTORY ThreeC4BaseDecl1Def, ThreeC4RecFcnDeclDef, ThreeC4BasicAbTypesDef; ThreeC4ModItemAbGramDef: CEDAR DEFINITIONS = BEGIN OPEN ThreeC4BaseDecl1Def, ThreeC4RecFcnDeclDef, ThreeC4BasicAbTypesDef; -- ModuleItemcedarItemsProd ModuleItemcedarItemsProdData: TYPE = REF ModuleItemcedarItemsProdDataBody; ModuleItemcedarItemsProdDataBody: TYPE = RECORD[ CedarItems: CedarItemsNode]; ModuleItemcedarItemsProdProcs: ModuleItemNodeProcs; BuildModuleItemcedarItemsProdNode: PROC[position: INT, length: INT, CedarItems: CedarItemsNode] RETURNS[ModuleItemNode]; ModuleItemcedarItemsProdCollectModuleValueTypes: CollectModuleValueTypesProcType; ModuleItemcedarItemsProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; ModuleItemcedarItemsProdCollectProductions: CollectProductionsProcType; ModuleItemcedarItemsProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; ModuleItemcedarItemsProdDefFileCode: DefFileCodeProcType; ModuleItemcedarItemsProdImplFileCode: ImplFileCodeProcType; ModuleItemcedarItemsProdLinkFileCode: LinkFileCodeProcType; ModuleItemcedarItemsProdSyntaxFileCodes: SyntaxFileCodesProcType; ModuleItemcedarItemsProdTestLinkPresent: TestLinkPresentProcType; -- ModuleItembaseItemsProd ModuleItembaseItemsProdData: TYPE = REF ModuleItembaseItemsProdDataBody; ModuleItembaseItemsProdDataBody: TYPE = RECORD[ BaseItems: BaseItemsNode]; ModuleItembaseItemsProdProcs: ModuleItemNodeProcs; BuildModuleItembaseItemsProdNode: PROC[position: INT, length: INT, BaseItems: BaseItemsNode] RETURNS[ModuleItemNode]; ModuleItembaseItemsProdCollectModuleValueTypes: CollectModuleValueTypesProcType; ModuleItembaseItemsProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; ModuleItembaseItemsProdCollectProductions: CollectProductionsProcType; ModuleItembaseItemsProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; ModuleItembaseItemsProdDefFileCode: DefFileCodeProcType; ModuleItembaseItemsProdImplFileCode: ImplFileCodeProcType; ModuleItembaseItemsProdLinkFileCode: LinkFileCodeProcType; ModuleItembaseItemsProdSyntaxFileCodes: SyntaxFileCodesProcType; ModuleItembaseItemsProdTestLinkPresent: TestLinkPresentProcType; -- ModuleItemabGramItemsProd ModuleItemabGramItemsProdData: TYPE = REF ModuleItemabGramItemsProdDataBody; ModuleItemabGramItemsProdDataBody: TYPE = RECORD[ AbGramItems: AbGramItemsNode]; ModuleItemabGramItemsProdProcs: ModuleItemNodeProcs; BuildModuleItemabGramItemsProdNode: PROC[position: INT, length: INT, AbGramItems: AbGramItemsNode] RETURNS[ModuleItemNode]; ModuleItemabGramItemsProdCollectModuleValueTypes: CollectModuleValueTypesProcType; ModuleItemabGramItemsProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; ModuleItemabGramItemsProdCollectProductions: CollectProductionsProcType; ModuleItemabGramItemsProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; ModuleItemabGramItemsProdDefFileCode: DefFileCodeProcType; ModuleItemabGramItemsProdImplFileCode: ImplFileCodeProcType; ModuleItemabGramItemsProdLinkFileCode: LinkFileCodeProcType; ModuleItemabGramItemsProdSyntaxFileCodes: SyntaxFileCodesProcType; ModuleItemabGramItemsProdTestLinkPresent: TestLinkPresentProcType; -- ModuleItemcGramItemsProd ModuleItemcGramItemsProdData: TYPE = REF ModuleItemcGramItemsProdDataBody; ModuleItemcGramItemsProdDataBody: TYPE = RECORD[ CGramItems: CGramItemsNode]; ModuleItemcGramItemsProdProcs: ModuleItemNodeProcs; BuildModuleItemcGramItemsProdNode: PROC[position: INT, length: INT, CGramItems: CGramItemsNode] RETURNS[ModuleItemNode]; ModuleItemcGramItemsProdCollectModuleValueTypes: CollectModuleValueTypesProcType; ModuleItemcGramItemsProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; ModuleItemcGramItemsProdCollectProductions: CollectProductionsProcType; ModuleItemcGramItemsProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; ModuleItemcGramItemsProdDefFileCode: DefFileCodeProcType; ModuleItemcGramItemsProdImplFileCode: ImplFileCodeProcType; ModuleItemcGramItemsProdLinkFileCode: LinkFileCodeProcType; ModuleItemcGramItemsProdSyntaxFileCodes: SyntaxFileCodesProcType; ModuleItemcGramItemsProdTestLinkPresent: TestLinkPresentProcType; -- ModuleItemgenTknProd ModuleItemgenTknProdData: TYPE = REF ModuleItemgenTknProdDataBody; ModuleItemgenTknProdDataBody: TYPE = RECORD[ Identifier: IdentifierNode, RopetknName: RopeNode]; ModuleItemgenTknProdProcs: ModuleItemNodeProcs; BuildModuleItemgenTknProdNode: PROC[position: INT, length: INT, Identifier: IdentifierNode, RopetknName: RopeNode] RETURNS[ModuleItemNode]; ModuleItemgenTknProdCollectModuleValueTypes: CollectModuleValueTypesProcType; ModuleItemgenTknProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; ModuleItemgenTknProdCollectProductions: CollectProductionsProcType; ModuleItemgenTknProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; ModuleItemgenTknProdDefFileCode: DefFileCodeProcType; ModuleItemgenTknProdImplFileCode: ImplFileCodeProcType; ModuleItemgenTknProdLinkFileCode: LinkFileCodeProcType; ModuleItemgenTknProdSyntaxFileCodes: SyntaxFileCodesProcType; ModuleItemgenTknProdTestLinkPresent: TestLinkPresentProcType; -- CedarItemscedarTypesProd CedarItemscedarTypesProdData: TYPE = REF CedarItemscedarTypesProdDataBody; CedarItemscedarTypesProdDataBody: TYPE = RECORD[ IdList: IdListNode]; CedarItemscedarTypesProdProcs: CedarItemsNodeProcs; BuildCedarItemscedarTypesProdNode: PROC[position: INT, length: INT, IdList: IdListNode] RETURNS[CedarItemsNode]; CedarItemscedarTypesProdCollectModuleValueTypes: CollectModuleValueTypesProcType; CedarItemscedarTypesProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; -- CedarItemscedarTypesFromProd CedarItemscedarTypesFromProdData: TYPE = REF CedarItemscedarTypesFromProdDataBody; CedarItemscedarTypesFromProdDataBody: TYPE = RECORD[ IdList: IdListNode, Identifier: IdentifierNode]; CedarItemscedarTypesFromProdProcs: CedarItemsNodeProcs; BuildCedarItemscedarTypesFromProdNode: PROC[position: INT, length: INT, IdList: IdListNode, Identifier: IdentifierNode] RETURNS[CedarItemsNode]; CedarItemscedarTypesFromProdCollectModuleValueTypes: CollectModuleValueTypesProcType; CedarItemscedarTypesFromProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; -- CedarItemscedarEnumTypeFromProd CedarItemscedarEnumTypeFromProdData: TYPE = REF CedarItemscedarEnumTypeFromProdDataBody; CedarItemscedarEnumTypeFromProdDataBody: TYPE = RECORD[ IdentifiertypeName: IdentifierNode, IdListvalues: IdListNode, IdentifierfileName: IdentifierNode]; CedarItemscedarEnumTypeFromProdProcs: CedarItemsNodeProcs; BuildCedarItemscedarEnumTypeFromProdNode: PROC[position: INT, length: INT, IdentifiertypeName: IdentifierNode, IdListvalues: IdListNode, IdentifierfileName: IdentifierNode] RETURNS[CedarItemsNode]; CedarItemscedarEnumTypeFromProdCollectModuleValueTypes: CollectModuleValueTypesProcType; CedarItemscedarEnumTypeFromProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; -- CedarItemscedarFunctionFromProd CedarItemscedarFunctionFromProdData: TYPE = REF CedarItemscedarFunctionFromProdDataBody; CedarItemscedarFunctionFromProdDataBody: TYPE = RECORD[ IdentifierfunName: IdentifierNode, ModIdListargs: ModIdListNode, ModIdListresults: ModIdListNode, IdentifierfileName: IdentifierNode, DamageShareAssertions: DamageShareAssertionsNode]; CedarItemscedarFunctionFromProdProcs: CedarItemsNodeProcs; BuildCedarItemscedarFunctionFromProdNode: PROC[position: INT, length: INT, IdentifierfunName: IdentifierNode, ModIdListargs: ModIdListNode, ModIdListresults: ModIdListNode, IdentifierfileName: IdentifierNode, DamageShareAssertions: DamageShareAssertionsNode] RETURNS[CedarItemsNode]; CedarItemscedarFunctionFromProdCollectModuleValueTypes: CollectModuleValueTypesProcType; CedarItemscedarFunctionFromProdCollectModuleFunctionTypes: CollectModuleFunctionTypesProcType; -- CGramItemssimpleTokensProd CGramItemssimpleTokensProdData: TYPE = REF CGramItemssimpleTokensProdDataBody; CGramItemssimpleTokensProdDataBody: TYPE = RECORD[ RopeList: RopeListNode]; CGramItemssimpleTokensProdProcs: CGramItemsNodeProcs; BuildCGramItemssimpleTokensProdNode: PROC[position: INT, length: INT, RopeList: RopeListNode] RETURNS[CGramItemsNode]; CGramItemssimpleTokensProdCollectProductions: CollectProductionsProcType; CGramItemssimpleTokensProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; CGramItemssimpleTokensProdDefFileCode: DefFileCodeProcType; CGramItemssimpleTokensProdImplFileCode: ImplFileCodeProcType; CGramItemssimpleTokensProdLinkFileCode: LinkFileCodeProcType; CGramItemssimpleTokensProdSyntaxFileCodes: SyntaxFileCodesProcType; CGramItemssimpleTokensProdTestLinkPresent: TestLinkPresentProcType; -- CGramItemsnonTerminalProd CGramItemsnonTerminalProdData: TYPE = REF CGramItemsnonTerminalProdDataBody; CGramItemsnonTerminalProdDataBody: TYPE = RECORD[ Identifiername: IdentifierNode, Identifierbuilds: IdentifierNode]; CGramItemsnonTerminalProdProcs: CGramItemsNodeProcs; BuildCGramItemsnonTerminalProdNode: PROC[position: INT, length: INT, Identifiername: IdentifierNode, Identifierbuilds: IdentifierNode] RETURNS[CGramItemsNode]; CGramItemsnonTerminalProdCollectProductions: CollectProductionsProcType; CGramItemsnonTerminalProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; CGramItemsnonTerminalProdDefFileCode: DefFileCodeProcType; CGramItemsnonTerminalProdImplFileCode: ImplFileCodeProcType; CGramItemsnonTerminalProdLinkFileCode: LinkFileCodeProcType; CGramItemsnonTerminalProdSyntaxFileCodes: SyntaxFileCodesProcType; CGramItemsnonTerminalProdTestLinkPresent: TestLinkPresentProcType; -- CGramItemsconcreteProductionProd CGramItemsconcreteProductionProdData: TYPE = REF CGramItemsconcreteProductionProdDataBody; CGramItemsconcreteProductionProdDataBody: TYPE = RECORD[ ConcreteProduction: ConcreteProductionNode]; CGramItemsconcreteProductionProdProcs: CGramItemsNodeProcs; BuildCGramItemsconcreteProductionProdNode: PROC[position: INT, length: INT, ConcreteProduction: ConcreteProductionNode] RETURNS[CGramItemsNode]; CGramItemsconcreteProductionProdCollectProductions: CollectProductionsProcType; CGramItemsconcreteProductionProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; CGramItemsconcreteProductionProdDefFileCode: DefFileCodeProcType; CGramItemsconcreteProductionProdImplFileCode: ImplFileCodeProcType; CGramItemsconcreteProductionProdLinkFileCode: LinkFileCodeProcType; CGramItemsconcreteProductionProdSyntaxFileCodes: SyntaxFileCodesProcType; CGramItemsconcreteProductionProdTestLinkPresent: TestLinkPresentProcType; END..