DIRECTORY ThreeC4BaseDecl1Def, ThreeC4RecFcnDeclDef, ThreeC4BasicAbTypesDef; ThreeC4MiscAbGramDef: CEDAR DEFINITIONS = BEGIN OPEN ThreeC4BaseDecl1Def, ThreeC4RecFcnDeclDef, ThreeC4BasicAbTypesDef; -- ModIdoneIdProd ModIdoneIdProdData: TYPE = REF ModIdoneIdProdDataBody; ModIdoneIdProdDataBody: TYPE = RECORD[ Identifier: IdentifierNode]; ModIdoneIdProdProcs: ModIdNodeProcs; BuildModIdoneIdProdNode: PROC[position: INT, length: INT, Identifier: IdentifierNode] RETURNS[ModIdNode]; ModIdoneIdProdFormName: FormNameProcType; ModIdoneIdProdFormFirstId: FormFirstIdProcType; ModIdoneIdProdFormType: FormTypeProcType; ModIdoneIdProdFormValueInfo: FormValueInfoProcType; ModIdoneIdProdFormExpCode: FormExpCodeProcType; ModIdoneIdProdFormTypeUse: FormTypeUseProcType; ModIdoneIdProdFormTypeEarly: FormTypeEarlyProcType; -- ModIdtwoIdsProd ModIdtwoIdsProdData: TYPE = REF ModIdtwoIdsProdDataBody; ModIdtwoIdsProdDataBody: TYPE = RECORD[ Identifierleft: IdentifierNode, Identifierright: IdentifierNode]; ModIdtwoIdsProdProcs: ModIdNodeProcs; BuildModIdtwoIdsProdNode: PROC[position: INT, length: INT, Identifierleft: IdentifierNode, Identifierright: IdentifierNode] RETURNS[ModIdNode]; ModIdtwoIdsProdFormName: FormNameProcType; ModIdtwoIdsProdFormFirstId: FormFirstIdProcType; ModIdtwoIdsProdFormType: FormTypeProcType; ModIdtwoIdsProdFormValueInfo: FormValueInfoProcType; ModIdtwoIdsProdFormExpCode: FormExpCodeProcType; ModIdtwoIdsProdFormTypeUse: FormTypeUseProcType; ModIdtwoIdsProdFormTypeEarly: FormTypeEarlyProcType; -- ModIdListEmptyProd ModIdListEmptyProdData: TYPE = REF ModIdListEmptyProdDataBody; ModIdListEmptyProdDataBody: TYPE = RECORD[ ]; ModIdListEmptyProdProcs: ModIdListNodeProcs; BuildModIdListEmptyProdNode: PROC[position: INT, length: INT] RETURNS[ModIdListNode]; ModIdListEmptyProdFormNameList: FormNameListProcType; ModIdListEmptyProdFormAbstRightSideContext: FormAbstRightSideContextProcType; ModIdListEmptyProdFormTypeUse: FormTypeUseProcType; ModIdListEmptyProdFormTypeListEarly: FormTypeListEarlyProcType; ModIdListEmptyProdFormTypeList: FormTypeListProcType; ModIdListEmptyProdProdDataTypeDefCode: ProdDataTypeDefCodeProcType; ModIdListEmptyProdDataBodyFieldTypeCode: DataBodyFieldTypeCodeProcType; ModIdListEmptyProdProdBuildDataRcdCode: ProdBuildDataRcdCodeProcType; ModIdListEmptyProdFormTypesCode: FormTypesCodeProcType; -- ModIdListManyProd ModIdListManyProdData: TYPE = REF ModIdListManyProdDataBody; ModIdListManyProdDataBody: TYPE = RECORD[ ModIdList: ModIdListNode, ModId: ModIdNode]; ModIdListManyProdProcs: ModIdListNodeProcs; BuildModIdListManyProdNode: PROC[position: INT, length: INT, ModIdList: ModIdListNode, ModId: ModIdNode] RETURNS[ModIdListNode]; ModIdListManyProdFormNameList: FormNameListProcType; ModIdListManyProdFormAbstRightSideContext: FormAbstRightSideContextProcType; ModIdListManyProdFormTypeUse: FormTypeUseProcType; ModIdListManyProdFormTypeListEarly: FormTypeListEarlyProcType; ModIdListManyProdFormTypeList: FormTypeListProcType; ModIdListManyProdProdDataTypeDefCode: ProdDataTypeDefCodeProcType; ModIdListManyProdDataBodyFieldTypeCode: DataBodyFieldTypeCodeProcType; ModIdListManyProdProdBuildDataRcdCode: ProdBuildDataRcdCodeProcType; ModIdListManyProdFormTypesCode: FormTypesCodeProcType; -- IdListEmptyProd IdListEmptyProdData: TYPE = REF IdListEmptyProdDataBody; IdListEmptyProdDataBody: TYPE = RECORD[ ]; IdListEmptyProdProcs: IdListNodeProcs; BuildIdListEmptyProdNode: PROC[position: INT, length: INT] RETURNS[IdListNode]; IdListEmptyProdRecordCedarTypesFrom: RecordCedarTypesFromProcType; IdListEmptyProdRecordCedarTypes: RecordCedarTypesProcType; IdListEmptyProdRecordMultipleBaseTypes: RecordMultipleBaseTypesProcType; IdListEmptyProdFormTypeListEarly: FormTypeListEarlyProcType; IdListEmptyProdFormNameList: FormNameListProcType; IdListEmptyProdCollectValueTypes: CollectValueTypesProcType; IdListEmptyProdCollectFunctionTypes: CollectFunctionTypesProcType; IdListEmptyProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; IdListEmptyProdBaseDeclCode: BaseDeclCodeProcType; IdListEmptyProdFormTypesCode: FormTypesCodeProcType; IdListEmptyProdProcFieldTypeCode: ProcFieldTypeCodeProcType; IdListEmptyProdFormProcsNamesCode: FormProcsNamesCodeProcType; IdListEmptyProdFormRecFcnsDeclCode: FormRecFcnsDeclCodeProcType; IdListEmptyProdFormVarDeclCode: FormVarDeclCodeProcType; IdListEmptyProdFormLinkCallCode: FormLinkCallCodeProcType; IdListEmptyProdSyntaxFileCodes: SyntaxFileCodesProcType; -- IdListnonEmptyProd IdListnonEmptyProdData: TYPE = REF IdListnonEmptyProdDataBody; IdListnonEmptyProdDataBody: TYPE = RECORD[ Identifier: IdentifierNode, IdList: IdListNode]; IdListnonEmptyProdProcs: IdListNodeProcs; BuildIdListnonEmptyProdNode: PROC[position: INT, length: INT, Identifier: IdentifierNode, IdList: IdListNode] RETURNS[IdListNode]; IdListnonEmptyProdRecordCedarTypesFrom: RecordCedarTypesFromProcType; IdListnonEmptyProdRecordCedarTypes: RecordCedarTypesProcType; IdListnonEmptyProdRecordMultipleBaseTypes: RecordMultipleBaseTypesProcType; IdListnonEmptyProdFormTypeListEarly: FormTypeListEarlyProcType; IdListnonEmptyProdFormNameList: FormNameListProcType; IdListnonEmptyProdCollectValueTypes: CollectValueTypesProcType; IdListnonEmptyProdCollectFunctionTypes: CollectFunctionTypesProcType; IdListnonEmptyProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; IdListnonEmptyProdBaseDeclCode: BaseDeclCodeProcType; IdListnonEmptyProdFormTypesCode: FormTypesCodeProcType; IdListnonEmptyProdProcFieldTypeCode: ProcFieldTypeCodeProcType; IdListnonEmptyProdFormProcsNamesCode: FormProcsNamesCodeProcType; IdListnonEmptyProdFormRecFcnsDeclCode: FormRecFcnsDeclCodeProcType; IdListnonEmptyProdFormVarDeclCode: FormVarDeclCodeProcType; IdListnonEmptyProdFormLinkCallCode: FormLinkCallCodeProcType; IdListnonEmptyProdSyntaxFileCodes: SyntaxFileCodesProcType; -- RopeListOneProd RopeListOneProdData: TYPE = REF RopeListOneProdDataBody; RopeListOneProdDataBody: TYPE = RECORD[ Rope: RopeNode]; RopeListOneProdProcs: RopeListNodeProcs; BuildRopeListOneProdNode: PROC[position: INT, length: INT, Rope: RopeNode] RETURNS[RopeListNode]; RopeListOneProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; RopeListOneProdSyntaxFileCodes: SyntaxFileCodesProcType; RopeListOneProdSpecialSyntaxTokenFileCode: SpecialSyntaxTokenFileCodeProcType; -- RopeListManyProd RopeListManyProdData: TYPE = REF RopeListManyProdDataBody; RopeListManyProdDataBody: TYPE = RECORD[ RopeList: RopeListNode, Rope: RopeNode]; RopeListManyProdProcs: RopeListNodeProcs; BuildRopeListManyProdNode: PROC[position: INT, length: INT, RopeList: RopeListNode, Rope: RopeNode] RETURNS[RopeListNode]; RopeListManyProdCollectRightSideSymbols: CollectRightSideSymbolsProcType; RopeListManyProdSyntaxFileCodes: SyntaxFileCodesProcType; RopeListManyProdSpecialSyntaxTokenFileCode: SpecialSyntaxTokenFileCodeProcType; END..