<> <> <> <> DIRECTORY SaffronTreeBucketDef, SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG7Def: CEDAR DEFINITIONS = BEGIN OPEN SaffronTreeBucketDef, SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; <> AccessemptyProdData: TYPE = REF AccessemptyProdDataBody; AccessemptyProdDataBody: TYPE = RECORD[ ]; AccessemptyProdProcs: AccessNodeProcs; BuildAccessemptyProdNode: PROC[position: INT, length: INT] RETURNS[AccessNode]; AccessemptyProdfoo: fooProcType; <> AccesspublicProdData: TYPE = REF AccesspublicProdDataBody; AccesspublicProdDataBody: TYPE = RECORD[ ]; AccesspublicProdProcs: AccessNodeProcs; BuildAccesspublicProdNode: PROC[position: INT, length: INT] RETURNS[AccessNode]; AccesspublicProdfoo: fooProcType; <> AccessprivateProdData: TYPE = REF AccessprivateProdDataBody; AccessprivateProdDataBody: TYPE = RECORD[ ]; AccessprivateProdProcs: AccessNodeProcs; BuildAccessprivateProdNode: PROC[position: INT, length: INT] RETURNS[AccessNode]; AccessprivateProdfoo: fooProcType; <> DefaultemptyProdData: TYPE = REF DefaultemptyProdDataBody; DefaultemptyProdDataBody: TYPE = RECORD[ ]; DefaultemptyProdProcs: DefaultNodeProcs; BuildDefaultemptyProdNode: PROC[position: INT, length: INT] RETURNS[DefaultNode]; DefaultemptyProdfoo: fooProcType; <> DefaultgetsProdData: TYPE = REF DefaultgetsProdDataBody; DefaultgetsProdDataBody: TYPE = RECORD[ ]; DefaultgetsProdProcs: DefaultNodeProcs; BuildDefaultgetsProdNode: PROC[position: INT, length: INT] RETURNS[DefaultNode]; DefaultgetsProdfoo: fooProcType; <> DefaultgetsexpProdData: TYPE = REF DefaultgetsexpProdDataBody; DefaultgetsexpProdDataBody: TYPE = RECORD[ Exp: ExpNode]; DefaultgetsexpProdProcs: DefaultNodeProcs; BuildDefaultgetsexpProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[DefaultNode]; DefaultgetsexpProdfoo: fooProcType; <> DefaultgetstrashProdData: TYPE = REF DefaultgetstrashProdDataBody; DefaultgetstrashProdDataBody: TYPE = RECORD[ ]; DefaultgetstrashProdProcs: DefaultNodeProcs; BuildDefaultgetstrashProdNode: PROC[position: INT, length: INT] RETURNS[DefaultNode]; DefaultgetstrashProdfoo: fooProcType; <> DefaultgetsexportrashProdData: TYPE = REF DefaultgetsexportrashProdDataBody; DefaultgetsexportrashProdDataBody: TYPE = RECORD[ Exp: ExpNode]; DefaultgetsexportrashProdProcs: DefaultNodeProcs; BuildDefaultgetsexportrashProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[DefaultNode]; DefaultgetsexportrashProdfoo: fooProcType; <> IdentidProdData: TYPE = REF IdentidProdDataBody; IdentidProdDataBody: TYPE = RECORD[ id: idNode]; IdentidProdProcs: IdentNodeProcs; BuildIdentidProdNode: PROC[position: INT, length: INT, id: idNode] RETURNS[IdentNode]; IdentidProdfoo: fooProcType; IdentidProdInsertDescriptor: InsertDescriptorProcType; IdentidProdReplaceDescriptor: ReplaceDescriptorProcType; IdentidProdAddToNamedFieldList: AddToNamedFieldListProcType; IdentidProdProcessDecls: ProcessDeclsProcType; <> IdentidpositionProdData: TYPE = REF IdentidpositionProdDataBody; IdentidpositionProdDataBody: TYPE = RECORD[ id: idNode, Position: PositionNode]; IdentidpositionProdProcs: IdentNodeProcs; BuildIdentidpositionProdNode: PROC[position: INT, length: INT, id: idNode, Position: PositionNode] RETURNS[IdentNode]; IdentidpositionProdfoo: fooProcType; IdentidpositionProdInsertDescriptor: InsertDescriptorProcType; IdentidpositionProdReplaceDescriptor: ReplaceDescriptorProcType; IdentidpositionProdAddToNamedFieldList: AddToNamedFieldListProcType; IdentidpositionProdProcessDecls: ProcessDeclsProcType; <> PositionProdData: TYPE = REF PositionProdDataBody; PositionProdDataBody: TYPE = RECORD[ Exp: ExpNode, OptBits: OptBitsNode]; PositionProdProcs: PositionNodeProcs; BuildPositionProdNode: PROC[position: INT, length: INT, Exp: ExpNode, OptBits: OptBitsNode] RETURNS[PositionNode]; PositionProdfoo: fooProcType; <> OptBitsabsentProdData: TYPE = REF OptBitsabsentProdDataBody; OptBitsabsentProdDataBody: TYPE = RECORD[ ]; OptBitsabsentProdProcs: OptBitsNodeProcs; BuildOptBitsabsentProdNode: PROC[position: INT, length: INT] RETURNS[OptBitsNode]; OptBitsabsentProdfoo: fooProcType; <> OptBitspresentProdData: TYPE = REF OptBitspresentProdDataBody; OptBitspresentProdDataBody: TYPE = RECORD[ Bounds: BoundsNode]; OptBitspresentProdProcs: OptBitsNodeProcs; BuildOptBitspresentProdNode: PROC[position: INT, length: INT, Bounds: BoundsNode] RETURNS[OptBitsNode]; OptBitspresentProdfoo: fooProcType; <> IdentListoneProdData: TYPE = REF IdentListoneProdDataBody; IdentListoneProdDataBody: TYPE = RECORD[ Ident: IdentNode]; IdentListoneProdProcs: IdentListNodeProcs; BuildIdentListoneProdNode: PROC[position: INT, length: INT, Ident: IdentNode] RETURNS[IdentListNode]; IdentListoneProdfoo: fooProcType; IdentListoneProdProcessDecls: ProcessDeclsProcType; IdentListoneProdInsertDescriptor: InsertDescriptorProcType; IdentListoneProdReplaceDescriptor: ReplaceDescriptorProcType; IdentListoneProdAddToNamedFieldList: AddToNamedFieldListProcType; <> IdentListmanyProdData: TYPE = REF IdentListmanyProdDataBody; IdentListmanyProdDataBody: TYPE = RECORD[ IdentListhead: IdentListNode, IdentListtail: IdentListNode]; IdentListmanyProdProcs: IdentListNodeProcs; BuildIdentListmanyProdNode: PROC[position: INT, length: INT, IdentListhead: IdentListNode, IdentListtail: IdentListNode] RETURNS[IdentListNode]; IdentListmanyProdfoo: fooProcType; IdentListmanyProdProcessDecls: ProcessDeclsProcType; IdentListmanyProdInsertDescriptor: InsertDescriptorProcType; IdentListmanyProdReplaceDescriptor: ReplaceDescriptorProcType; IdentListmanyProdAddToNamedFieldList: AddToNamedFieldListProcType; <> TagidentProdData: TYPE = REF TagidentProdDataBody; TagidentProdDataBody: TYPE = RECORD[ Ident: IdentNode, Access: AccessNode, TagType: TagTypeNode]; TagidentProdProcs: TagNodeProcs; BuildTagidentProdNode: PROC[position: INT, length: INT, Ident: IdentNode, Access: AccessNode, TagType: TagTypeNode] RETURNS[TagNode]; TagidentProdfoo: fooProcType; <> TagcomputedProdData: TYPE = REF TagcomputedProdDataBody; TagcomputedProdDataBody: TYPE = RECORD[ TagType: TagTypeNode]; TagcomputedProdProcs: TagNodeProcs; BuildTagcomputedProdNode: PROC[position: INT, length: INT, TagType: TagTypeNode] RETURNS[TagNode]; TagcomputedProdfoo: fooProcType; <> TagoverlaidProdData: TYPE = REF TagoverlaidProdDataBody; TagoverlaidProdDataBody: TYPE = RECORD[ TagType: TagTypeNode]; TagoverlaidProdProcs: TagNodeProcs; BuildTagoverlaidProdNode: PROC[position: INT, length: INT, TagType: TagTypeNode] RETURNS[TagNode]; TagoverlaidProdfoo: fooProcType; <> TagTypestarProdData: TYPE = REF TagTypestarProdDataBody; TagTypestarProdDataBody: TYPE = RECORD[ ]; TagTypestarProdProcs: TagTypeNodeProcs; BuildTagTypestarProdNode: PROC[position: INT, length: INT] RETURNS[TagTypeNode]; TagTypestarProdfoo: fooProcType; <> TagTypetypeexpProdData: TYPE = REF TagTypetypeexpProdDataBody; TagTypetypeexpProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; TagTypetypeexpProdProcs: TagTypeNodeProcs; BuildTagTypetypeexpProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[TagTypeNode]; TagTypetypeexpProdfoo: fooProcType; <> VariantListoneProdData: TYPE = REF VariantListoneProdDataBody; VariantListoneProdDataBody: TYPE = RECORD[ VariantItem: VariantItemNode]; VariantListoneProdProcs: VariantListNodeProcs; BuildVariantListoneProdNode: PROC[position: INT, length: INT, VariantItem: VariantItemNode] RETURNS[VariantListNode]; VariantListoneProdfoo: fooProcType; <> VariantListmoreProdData: TYPE = REF VariantListmoreProdDataBody; VariantListmoreProdDataBody: TYPE = RECORD[ VariantList: VariantListNode, VariantItem: VariantItemNode]; VariantListmoreProdProcs: VariantListNodeProcs; BuildVariantListmoreProdNode: PROC[position: INT, length: INT, VariantList: VariantListNode, VariantItem: VariantItemNode] RETURNS[VariantListNode]; VariantListmoreProdfoo: fooProcType; <> VariantItemProdData: TYPE = REF VariantItemProdDataBody; VariantItemProdDataBody: TYPE = RECORD[ IdList: IdListNode, RecList: RecListNode]; VariantItemProdProcs: VariantItemNodeProcs; BuildVariantItemProdNode: PROC[position: INT, length: INT, IdList: IdListNode, RecList: RecListNode] RETURNS[VariantItemNode]; VariantItemProdfoo: fooProcType; <> PackedyesProdData: TYPE = REF PackedyesProdDataBody; PackedyesProdDataBody: TYPE = RECORD[ ]; PackedyesProdProcs: PackedNodeProcs; BuildPackedyesProdNode: PROC[position: INT, length: INT] RETURNS[PackedNode]; PackedyesProdfoo: fooProcType; <> PackednoProdData: TYPE = REF PackednoProdDataBody; PackednoProdDataBody: TYPE = RECORD[ ]; PackednoProdProcs: PackedNodeProcs; BuildPackednoProdNode: PROC[position: INT, length: INT] RETURNS[PackedNode]; PackednoProdfoo: fooProcType; END..