DIRECTORY ThreeC4BaseDecl1Def, ThreeC4MiscAbGramDef, ThreeC4BasicAbTypesDef; ThreeC4MiscAbGramImpl: CEDAR PROGRAM IMPORTS ThreeC4MiscAbGramDef EXPORTS ThreeC4MiscAbGramDef= BEGIN OPEN ThreeC4BaseDecl1Def, ThreeC4MiscAbGramDef, ThreeC4BasicAbTypesDef; -- ModIdoneIdProd ModIdoneIdProdProcs: PUBLIC ModIdNodeProcs _ NEW[ModIdNodeProcsBody _ [ModIdoneIdProdFormName, ModIdoneIdProdFormFirstId, ModIdoneIdProdFormType, ModIdoneIdProdFormValueInfo, ModIdoneIdProdFormExpCode, ModIdoneIdProdFormTypeUse, ModIdoneIdProdFormTypeEarly]]; BuildModIdoneIdProdNode: PUBLIC PROC[position: INT, length: INT, Identifier: IdentifierNode] RETURNS[ModIdNode] = BEGIN data: ModIdoneIdProdData _ NEW[ModIdoneIdProdDataBody_[ Identifier]]; RETURN[NEW[ModIdNodeBody_[position, length, ModIdoneIdProdProcs, data]]]; END; -- ModIdtwoIdsProd ModIdtwoIdsProdProcs: PUBLIC ModIdNodeProcs _ NEW[ModIdNodeProcsBody _ [ModIdtwoIdsProdFormName, ModIdtwoIdsProdFormFirstId, ModIdtwoIdsProdFormType, ModIdtwoIdsProdFormValueInfo, ModIdtwoIdsProdFormExpCode, ModIdtwoIdsProdFormTypeUse, ModIdtwoIdsProdFormTypeEarly]]; BuildModIdtwoIdsProdNode: PUBLIC PROC[position: INT, length: INT, Identifierleft: IdentifierNode, Identifierright: IdentifierNode] RETURNS[ModIdNode] = BEGIN data: ModIdtwoIdsProdData _ NEW[ModIdtwoIdsProdDataBody_[ Identifierleft, Identifierright]]; RETURN[NEW[ModIdNodeBody_[position, length, ModIdtwoIdsProdProcs, data]]]; END; -- ModIdListEmptyProd ModIdListEmptyProdProcs: PUBLIC ModIdListNodeProcs _ NEW[ModIdListNodeProcsBody _ [ModIdListEmptyProdFormNameList, ModIdListEmptyProdFormAbstRightSideContext, ModIdListEmptyProdFormTypeUse, ModIdListEmptyProdFormTypeListEarly, ModIdListEmptyProdFormTypeList, ModIdListEmptyProdProdDataTypeDefCode, ModIdListEmptyProdDataBodyFieldTypeCode, ModIdListEmptyProdProdBuildDataRcdCode, ModIdListEmptyProdFormTypesCode]]; BuildModIdListEmptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ModIdListNode] = BEGIN RETURN[NEW[ModIdListNodeBody_[position, length, ModIdListEmptyProdProcs, NIL]]]; END; -- ModIdListManyProd ModIdListManyProdProcs: PUBLIC ModIdListNodeProcs _ NEW[ModIdListNodeProcsBody _ [ModIdListManyProdFormNameList, ModIdListManyProdFormAbstRightSideContext, ModIdListManyProdFormTypeUse, ModIdListManyProdFormTypeListEarly, ModIdListManyProdFormTypeList, ModIdListManyProdProdDataTypeDefCode, ModIdListManyProdDataBodyFieldTypeCode, ModIdListManyProdProdBuildDataRcdCode, ModIdListManyProdFormTypesCode]]; BuildModIdListManyProdNode: PUBLIC PROC[position: INT, length: INT, ModIdList: ModIdListNode, ModId: ModIdNode] RETURNS[ModIdListNode] = BEGIN data: ModIdListManyProdData _ NEW[ModIdListManyProdDataBody_[ ModIdList, ModId]]; RETURN[NEW[ModIdListNodeBody_[position, length, ModIdListManyProdProcs, data]]]; END; -- IdListEmptyProd IdListEmptyProdProcs: PUBLIC IdListNodeProcs _ NEW[IdListNodeProcsBody _ [IdListEmptyProdRecordCedarTypesFrom, IdListEmptyProdRecordCedarTypes, IdListEmptyProdRecordMultipleBaseTypes, IdListEmptyProdFormTypeListEarly, IdListEmptyProdFormNameList, IdListEmptyProdCollectValueTypes, IdListEmptyProdCollectFunctionTypes, IdListEmptyProdCollectRightSideSymbols, IdListEmptyProdBaseDeclCode, IdListEmptyProdFormTypesCode, IdListEmptyProdProcFieldTypeCode, IdListEmptyProdFormProcsNamesCode, IdListEmptyProdFormRecFcnsDeclCode, IdListEmptyProdFormVarDeclCode, IdListEmptyProdFormLinkCallCode, IdListEmptyProdSyntaxFileCodes]]; BuildIdListEmptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[IdListNode] = BEGIN RETURN[NEW[IdListNodeBody_[position, length, IdListEmptyProdProcs, NIL]]]; END; -- IdListnonEmptyProd IdListnonEmptyProdProcs: PUBLIC IdListNodeProcs _ NEW[IdListNodeProcsBody _ [IdListnonEmptyProdRecordCedarTypesFrom, IdListnonEmptyProdRecordCedarTypes, IdListnonEmptyProdRecordMultipleBaseTypes, IdListnonEmptyProdFormTypeListEarly, IdListnonEmptyProdFormNameList, IdListnonEmptyProdCollectValueTypes, IdListnonEmptyProdCollectFunctionTypes, IdListnonEmptyProdCollectRightSideSymbols, IdListnonEmptyProdBaseDeclCode, IdListnonEmptyProdFormTypesCode, IdListnonEmptyProdProcFieldTypeCode, IdListnonEmptyProdFormProcsNamesCode, IdListnonEmptyProdFormRecFcnsDeclCode, IdListnonEmptyProdFormVarDeclCode, IdListnonEmptyProdFormLinkCallCode, IdListnonEmptyProdSyntaxFileCodes]]; BuildIdListnonEmptyProdNode: PUBLIC PROC[position: INT, length: INT, Identifier: IdentifierNode, IdList: IdListNode] RETURNS[IdListNode] = BEGIN data: IdListnonEmptyProdData _ NEW[IdListnonEmptyProdDataBody_[ Identifier, IdList]]; RETURN[NEW[IdListNodeBody_[position, length, IdListnonEmptyProdProcs, data]]]; END; -- RopeListOneProd RopeListOneProdProcs: PUBLIC RopeListNodeProcs _ NEW[RopeListNodeProcsBody _ [RopeListOneProdCollectRightSideSymbols, RopeListOneProdSyntaxFileCodes, RopeListOneProdSpecialSyntaxTokenFileCode]]; BuildRopeListOneProdNode: PUBLIC PROC[position: INT, length: INT, Rope: RopeNode] RETURNS[RopeListNode] = BEGIN data: RopeListOneProdData _ NEW[RopeListOneProdDataBody_[ Rope]]; RETURN[NEW[RopeListNodeBody_[position, length, RopeListOneProdProcs, data]]]; END; -- RopeListManyProd RopeListManyProdProcs: PUBLIC RopeListNodeProcs _ NEW[RopeListNodeProcsBody _ [RopeListManyProdCollectRightSideSymbols, RopeListManyProdSyntaxFileCodes, RopeListManyProdSpecialSyntaxTokenFileCode]]; BuildRopeListManyProdNode: PUBLIC PROC[position: INT, length: INT, RopeList: RopeListNode, Rope: RopeNode] RETURNS[RopeListNode] = BEGIN data: RopeListManyProdData _ NEW[RopeListManyProdDataBody_[ RopeList, Rope]]; RETURN[NEW[RopeListNodeBody_[position, length, RopeListManyProdProcs, data]]]; END; END..