DIRECTORY ThreeC4BaseDecl1Def, ThreeC4BasicAbTypesDef, ThreeC4ModItemAbGramDef; ThreeC4ModItemAbGramImpl: CEDAR PROGRAM IMPORTS ThreeC4ModItemAbGramDef EXPORTS ThreeC4ModItemAbGramDef= BEGIN OPEN ThreeC4BaseDecl1Def, ThreeC4BasicAbTypesDef, ThreeC4ModItemAbGramDef; -- ModuleItemcedarItemsProd ModuleItemcedarItemsProdProcs: PUBLIC ModuleItemNodeProcs _ NEW[ModuleItemNodeProcsBody _ [ModuleItemcedarItemsProdCollectModuleValueTypes, ModuleItemcedarItemsProdCollectModuleFunctionTypes, ModuleItemcedarItemsProdCollectProductions, ModuleItemcedarItemsProdCollectRightSideSymbols, ModuleItemcedarItemsProdDefFileCode, ModuleItemcedarItemsProdImplFileCode, ModuleItemcedarItemsProdLinkFileCode, ModuleItemcedarItemsProdSyntaxFileCodes, ModuleItemcedarItemsProdTestLinkPresent]]; BuildModuleItemcedarItemsProdNode: PUBLIC PROC[position: INT, length: INT, CedarItems: CedarItemsNode] RETURNS[ModuleItemNode] = BEGIN data: ModuleItemcedarItemsProdData _ NEW[ModuleItemcedarItemsProdDataBody_[ CedarItems]]; RETURN[NEW[ModuleItemNodeBody_[position, length, ModuleItemcedarItemsProdProcs, data]]]; END; -- ModuleItembaseItemsProd ModuleItembaseItemsProdProcs: PUBLIC ModuleItemNodeProcs _ NEW[ModuleItemNodeProcsBody _ [ModuleItembaseItemsProdCollectModuleValueTypes, ModuleItembaseItemsProdCollectModuleFunctionTypes, ModuleItembaseItemsProdCollectProductions, ModuleItembaseItemsProdCollectRightSideSymbols, ModuleItembaseItemsProdDefFileCode, ModuleItembaseItemsProdImplFileCode, ModuleItembaseItemsProdLinkFileCode, ModuleItembaseItemsProdSyntaxFileCodes, ModuleItembaseItemsProdTestLinkPresent]]; BuildModuleItembaseItemsProdNode: PUBLIC PROC[position: INT, length: INT, BaseItems: BaseItemsNode] RETURNS[ModuleItemNode] = BEGIN data: ModuleItembaseItemsProdData _ NEW[ModuleItembaseItemsProdDataBody_[ BaseItems]]; RETURN[NEW[ModuleItemNodeBody_[position, length, ModuleItembaseItemsProdProcs, data]]]; END; -- ModuleItemabGramItemsProd ModuleItemabGramItemsProdProcs: PUBLIC ModuleItemNodeProcs _ NEW[ModuleItemNodeProcsBody _ [ModuleItemabGramItemsProdCollectModuleValueTypes, ModuleItemabGramItemsProdCollectModuleFunctionTypes, ModuleItemabGramItemsProdCollectProductions, ModuleItemabGramItemsProdCollectRightSideSymbols, ModuleItemabGramItemsProdDefFileCode, ModuleItemabGramItemsProdImplFileCode, ModuleItemabGramItemsProdLinkFileCode, ModuleItemabGramItemsProdSyntaxFileCodes, ModuleItemabGramItemsProdTestLinkPresent]]; BuildModuleItemabGramItemsProdNode: PUBLIC PROC[position: INT, length: INT, AbGramItems: AbGramItemsNode] RETURNS[ModuleItemNode] = BEGIN data: ModuleItemabGramItemsProdData _ NEW[ModuleItemabGramItemsProdDataBody_[ AbGramItems]]; RETURN[NEW[ModuleItemNodeBody_[position, length, ModuleItemabGramItemsProdProcs, data]]]; END; -- ModuleItemcGramItemsProd ModuleItemcGramItemsProdProcs: PUBLIC ModuleItemNodeProcs _ NEW[ModuleItemNodeProcsBody _ [ModuleItemcGramItemsProdCollectModuleValueTypes, ModuleItemcGramItemsProdCollectModuleFunctionTypes, ModuleItemcGramItemsProdCollectProductions, ModuleItemcGramItemsProdCollectRightSideSymbols, ModuleItemcGramItemsProdDefFileCode, ModuleItemcGramItemsProdImplFileCode, ModuleItemcGramItemsProdLinkFileCode, ModuleItemcGramItemsProdSyntaxFileCodes, ModuleItemcGramItemsProdTestLinkPresent]]; BuildModuleItemcGramItemsProdNode: PUBLIC PROC[position: INT, length: INT, CGramItems: CGramItemsNode] RETURNS[ModuleItemNode] = BEGIN data: ModuleItemcGramItemsProdData _ NEW[ModuleItemcGramItemsProdDataBody_[ CGramItems]]; RETURN[NEW[ModuleItemNodeBody_[position, length, ModuleItemcGramItemsProdProcs, data]]]; END; -- ModuleItemgenTknProd ModuleItemgenTknProdProcs: PUBLIC ModuleItemNodeProcs _ NEW[ModuleItemNodeProcsBody _ [ModuleItemgenTknProdCollectModuleValueTypes, ModuleItemgenTknProdCollectModuleFunctionTypes, ModuleItemgenTknProdCollectProductions, ModuleItemgenTknProdCollectRightSideSymbols, ModuleItemgenTknProdDefFileCode, ModuleItemgenTknProdImplFileCode, ModuleItemgenTknProdLinkFileCode, ModuleItemgenTknProdSyntaxFileCodes, ModuleItemgenTknProdTestLinkPresent]]; BuildModuleItemgenTknProdNode: PUBLIC PROC[position: INT, length: INT, Identifier: IdentifierNode, RopetknName: RopeNode] RETURNS[ModuleItemNode] = BEGIN data: ModuleItemgenTknProdData _ NEW[ModuleItemgenTknProdDataBody_[ Identifier, RopetknName]]; RETURN[NEW[ModuleItemNodeBody_[position, length, ModuleItemgenTknProdProcs, data]]]; END; -- CedarItemscedarTypesProd CedarItemscedarTypesProdProcs: PUBLIC CedarItemsNodeProcs _ NEW[CedarItemsNodeProcsBody _ [CedarItemscedarTypesProdCollectModuleValueTypes, CedarItemscedarTypesProdCollectModuleFunctionTypes]]; BuildCedarItemscedarTypesProdNode: PUBLIC PROC[position: INT, length: INT, IdList: IdListNode] RETURNS[CedarItemsNode] = BEGIN data: CedarItemscedarTypesProdData _ NEW[CedarItemscedarTypesProdDataBody_[ IdList]]; RETURN[NEW[CedarItemsNodeBody_[position, length, CedarItemscedarTypesProdProcs, data]]]; END; -- CedarItemscedarTypesFromProd CedarItemscedarTypesFromProdProcs: PUBLIC CedarItemsNodeProcs _ NEW[CedarItemsNodeProcsBody _ [CedarItemscedarTypesFromProdCollectModuleValueTypes, CedarItemscedarTypesFromProdCollectModuleFunctionTypes]]; BuildCedarItemscedarTypesFromProdNode: PUBLIC PROC[position: INT, length: INT, IdList: IdListNode, Identifier: IdentifierNode] RETURNS[CedarItemsNode] = BEGIN data: CedarItemscedarTypesFromProdData _ NEW[CedarItemscedarTypesFromProdDataBody_[ IdList, Identifier]]; RETURN[NEW[CedarItemsNodeBody_[position, length, CedarItemscedarTypesFromProdProcs, data]]]; END; -- CedarItemscedarEnumTypeFromProd CedarItemscedarEnumTypeFromProdProcs: PUBLIC CedarItemsNodeProcs _ NEW[CedarItemsNodeProcsBody _ [CedarItemscedarEnumTypeFromProdCollectModuleValueTypes, CedarItemscedarEnumTypeFromProdCollectModuleFunctionTypes]]; BuildCedarItemscedarEnumTypeFromProdNode: PUBLIC PROC[position: INT, length: INT, IdentifiertypeName: IdentifierNode, IdListvalues: IdListNode, IdentifierfileName: IdentifierNode] RETURNS[CedarItemsNode] = BEGIN data: CedarItemscedarEnumTypeFromProdData _ NEW[CedarItemscedarEnumTypeFromProdDataBody_[ IdentifiertypeName, IdListvalues, IdentifierfileName]]; RETURN[NEW[CedarItemsNodeBody_[position, length, CedarItemscedarEnumTypeFromProdProcs, data]]]; END; -- CedarItemscedarFunctionFromProd CedarItemscedarFunctionFromProdProcs: PUBLIC CedarItemsNodeProcs _ NEW[CedarItemsNodeProcsBody _ [CedarItemscedarFunctionFromProdCollectModuleValueTypes, CedarItemscedarFunctionFromProdCollectModuleFunctionTypes]]; BuildCedarItemscedarFunctionFromProdNode: PUBLIC PROC[position: INT, length: INT, IdentifierfunName: IdentifierNode, ModIdListargs: ModIdListNode, ModIdListresults: ModIdListNode, IdentifierfileName: IdentifierNode, DamageShareAssertions: DamageShareAssertionsNode] RETURNS[CedarItemsNode] = BEGIN data: CedarItemscedarFunctionFromProdData _ NEW[CedarItemscedarFunctionFromProdDataBody_[ IdentifierfunName, ModIdListargs, ModIdListresults, IdentifierfileName, DamageShareAssertions]]; RETURN[NEW[CedarItemsNodeBody_[position, length, CedarItemscedarFunctionFromProdProcs, data]]]; END; -- CGramItemssimpleTokensProd CGramItemssimpleTokensProdProcs: PUBLIC CGramItemsNodeProcs _ NEW[CGramItemsNodeProcsBody _ [CGramItemssimpleTokensProdCollectProductions, CGramItemssimpleTokensProdCollectRightSideSymbols, CGramItemssimpleTokensProdDefFileCode, CGramItemssimpleTokensProdImplFileCode, CGramItemssimpleTokensProdLinkFileCode, CGramItemssimpleTokensProdSyntaxFileCodes, CGramItemssimpleTokensProdTestLinkPresent]]; BuildCGramItemssimpleTokensProdNode: PUBLIC PROC[position: INT, length: INT, RopeList: RopeListNode] RETURNS[CGramItemsNode] = BEGIN data: CGramItemssimpleTokensProdData _ NEW[CGramItemssimpleTokensProdDataBody_[ RopeList]]; RETURN[NEW[CGramItemsNodeBody_[position, length, CGramItemssimpleTokensProdProcs, data]]]; END; -- CGramItemsnonTerminalProd CGramItemsnonTerminalProdProcs: PUBLIC CGramItemsNodeProcs _ NEW[CGramItemsNodeProcsBody _ [CGramItemsnonTerminalProdCollectProductions, CGramItemsnonTerminalProdCollectRightSideSymbols, CGramItemsnonTerminalProdDefFileCode, CGramItemsnonTerminalProdImplFileCode, CGramItemsnonTerminalProdLinkFileCode, CGramItemsnonTerminalProdSyntaxFileCodes, CGramItemsnonTerminalProdTestLinkPresent]]; BuildCGramItemsnonTerminalProdNode: PUBLIC PROC[position: INT, length: INT, Identifiername: IdentifierNode, Identifierbuilds: IdentifierNode] RETURNS[CGramItemsNode] = BEGIN data: CGramItemsnonTerminalProdData _ NEW[CGramItemsnonTerminalProdDataBody_[ Identifiername, Identifierbuilds]]; RETURN[NEW[CGramItemsNodeBody_[position, length, CGramItemsnonTerminalProdProcs, data]]]; END; -- CGramItemsconcreteProductionProd CGramItemsconcreteProductionProdProcs: PUBLIC CGramItemsNodeProcs _ NEW[CGramItemsNodeProcsBody _ [CGramItemsconcreteProductionProdCollectProductions, CGramItemsconcreteProductionProdCollectRightSideSymbols, CGramItemsconcreteProductionProdDefFileCode, CGramItemsconcreteProductionProdImplFileCode, CGramItemsconcreteProductionProdLinkFileCode, CGramItemsconcreteProductionProdSyntaxFileCodes, CGramItemsconcreteProductionProdTestLinkPresent]]; BuildCGramItemsconcreteProductionProdNode: PUBLIC PROC[position: INT, length: INT, ConcreteProduction: ConcreteProductionNode] RETURNS[CGramItemsNode] = BEGIN data: CGramItemsconcreteProductionProdData _ NEW[CGramItemsconcreteProductionProdDataBody_[ ConcreteProduction]]; RETURN[NEW[CGramItemsNodeBody_[position, length, CGramItemsconcreteProductionProdProcs, data]]]; END; END..