-- SaffronAG2Def.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 4:33:01 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG2Def: CEDAR DEFINITIONS = BEGIN OPEN SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; -- SelectHeadplainProd SelectHeadplainProdData: TYPE = REF SelectHeadplainProdDataBody; SelectHeadplainProdDataBody: TYPE = RECORD[ Exp: ExpNode]; SelectHeadplainProdProcs: SelectHeadNodeProcs; BuildSelectHeadplainProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[SelectHeadNode]; SelectHeadplainProdfoo: fooProcType; -- SelectHeaddiscriminatingProd SelectHeaddiscriminatingProdData: TYPE = REF SelectHeaddiscriminatingProdDataBody; SelectHeaddiscriminatingProdDataBody: TYPE = RECORD[ BindItem: BindItemNode, OptExp: OptExpNode]; SelectHeaddiscriminatingProdProcs: SelectHeadNodeProcs; BuildSelectHeaddiscriminatingProdNode: PROC[position: INT, length: INT, BindItem: BindItemNode, OptExp: OptExpNode] RETURNS[SelectHeadNode]; SelectHeaddiscriminatingProdfoo: fooProcType; -- SelectExpListemptyProd SelectExpListemptyProdData: TYPE = REF SelectExpListemptyProdDataBody; SelectExpListemptyProdDataBody: TYPE = RECORD[ ]; SelectExpListemptyProdProcs: SelectExpListNodeProcs; BuildSelectExpListemptyProdNode: PROC[position: INT, length: INT] RETURNS[SelectExpListNode]; SelectExpListemptyProdfoo: fooProcType; -- SelectExpListmoreProd SelectExpListmoreProdData: TYPE = REF SelectExpListmoreProdDataBody; SelectExpListmoreProdDataBody: TYPE = RECORD[ SelectExpList: SelectExpListNode, SelectExpItem: SelectExpItemNode]; SelectExpListmoreProdProcs: SelectExpListNodeProcs; BuildSelectExpListmoreProdNode: PROC[position: INT, length: INT, SelectExpList: SelectExpListNode, SelectExpItem: SelectExpItemNode] RETURNS[SelectExpListNode]; SelectExpListmoreProdfoo: fooProcType; -- SelectExpItemProd SelectExpItemProdData: TYPE = REF SelectExpItemProdDataBody; SelectExpItemProdDataBody: TYPE = RECORD[ SelectLabel: SelectLabelNode, Exp: ExpNode]; SelectExpItemProdProcs: SelectExpItemNodeProcs; BuildSelectExpItemProdNode: PROC[position: INT, length: INT, SelectLabel: SelectLabelNode, Exp: ExpNode] RETURNS[SelectExpItemNode]; SelectExpItemProdfoo: fooProcType; -- SelectLabeltypeProd SelectLabeltypeProdData: TYPE = REF SelectLabeltypeProdDataBody; SelectLabeltypeProdDataBody: TYPE = RECORD[ Ident: IdentNode, TypeExp: TypeExpNode]; SelectLabeltypeProdProcs: SelectLabelNodeProcs; BuildSelectLabeltypeProdNode: PROC[position: INT, length: INT, Ident: IdentNode, TypeExp: TypeExpNode] RETURNS[SelectLabelNode]; SelectLabeltypeProdfoo: fooProcType; -- SelectLabeltestProd SelectLabeltestProdData: TYPE = REF SelectLabeltestProdDataBody; SelectLabeltestProdDataBody: TYPE = RECORD[ SelectTestList: SelectTestListNode]; SelectLabeltestProdProcs: SelectLabelNodeProcs; BuildSelectLabeltestProdNode: PROC[position: INT, length: INT, SelectTestList: SelectTestListNode] RETURNS[SelectLabelNode]; SelectLabeltestProdfoo: fooProcType; -- SelectTestListoneProd SelectTestListoneProdData: TYPE = REF SelectTestListoneProdDataBody; SelectTestListoneProdDataBody: TYPE = RECORD[ Relation: RelationNode]; SelectTestListoneProdProcs: SelectTestListNodeProcs; BuildSelectTestListoneProdNode: PROC[position: INT, length: INT, Relation: RelationNode] RETURNS[SelectTestListNode]; SelectTestListoneProdfoo: fooProcType; -- SelectTestListmoreProd SelectTestListmoreProdData: TYPE = REF SelectTestListmoreProdDataBody; SelectTestListmoreProdDataBody: TYPE = RECORD[ SelectTestList: SelectTestListNode, Relation: RelationNode]; SelectTestListmoreProdProcs: SelectTestListNodeProcs; BuildSelectTestListmoreProdNode: PROC[position: INT, length: INT, SelectTestList: SelectTestListNode, Relation: RelationNode] RETURNS[SelectTestListNode]; SelectTestListmoreProdfoo: fooProcType; -- RelationnegativeProd RelationnegativeProdData: TYPE = REF RelationnegativeProdDataBody; RelationnegativeProdDataBody: TYPE = RECORD[ RelationTail: RelationTailNode]; RelationnegativeProdProcs: RelationNodeProcs; BuildRelationnegativeProdNode: PROC[position: INT, length: INT, RelationTail: RelationTailNode] RETURNS[RelationNode]; RelationnegativeProdfoo: fooProcType; -- RelationpositiveProd RelationpositiveProdData: TYPE = REF RelationpositiveProdDataBody; RelationpositiveProdDataBody: TYPE = RECORD[ RelationTail: RelationTailNode]; RelationpositiveProdProcs: RelationNodeProcs; BuildRelationpositiveProdNode: PROC[position: INT, length: INT, RelationTail: RelationTailNode] RETURNS[RelationNode]; RelationpositiveProdfoo: fooProcType; -- RelationTailrangeProd RelationTailrangeProdData: TYPE = REF RelationTailrangeProdDataBody; RelationTailrangeProdDataBody: TYPE = RECORD[ Range: RangeNode]; RelationTailrangeProdProcs: RelationTailNodeProcs; BuildRelationTailrangeProdNode: PROC[position: INT, length: INT, Range: RangeNode] RETURNS[RelationTailNode]; RelationTailrangeProdfoo: fooProcType; -- RelationTailrelopProd RelationTailrelopProdData: TYPE = REF RelationTailrelopProdDataBody; RelationTailrelopProdDataBody: TYPE = RECORD[ Relop: RelopNode, Exp: ExpNode]; RelationTailrelopProdProcs: RelationTailNodeProcs; BuildRelationTailrelopProdNode: PROC[position: INT, length: INT, Relop: RelopNode, Exp: ExpNode] RETURNS[RelationTailNode]; RelationTailrelopProdfoo: fooProcType; -- RelopeqProd RelopeqProdData: TYPE = REF RelopeqProdDataBody; RelopeqProdDataBody: TYPE = RECORD[ ]; RelopeqProdProcs: RelopNodeProcs; BuildRelopeqProdNode: PROC[position: INT, length: INT] RETURNS[RelopNode]; RelopeqProdfoo: fooProcType; -- RelopneProd RelopneProdData: TYPE = REF RelopneProdDataBody; RelopneProdDataBody: TYPE = RECORD[ ]; RelopneProdProcs: RelopNodeProcs; BuildRelopneProdNode: PROC[position: INT, length: INT] RETURNS[RelopNode]; RelopneProdfoo: fooProcType; -- RelopltProd RelopltProdData: TYPE = REF RelopltProdDataBody; RelopltProdDataBody: TYPE = RECORD[ ]; RelopltProdProcs: RelopNodeProcs; BuildRelopltProdNode: PROC[position: INT, length: INT] RETURNS[RelopNode]; RelopltProdfoo: fooProcType; -- RelopleProd RelopleProdData: TYPE = REF RelopleProdDataBody; RelopleProdDataBody: TYPE = RECORD[ ]; RelopleProdProcs: RelopNodeProcs; BuildRelopleProdNode: PROC[position: INT, length: INT] RETURNS[RelopNode]; RelopleProdfoo: fooProcType; -- RelopgtProd RelopgtProdData: TYPE = REF RelopgtProdDataBody; RelopgtProdDataBody: TYPE = RECORD[ ]; RelopgtProdProcs: RelopNodeProcs; BuildRelopgtProdNode: PROC[position: INT, length: INT] RETURNS[RelopNode]; RelopgtProdfoo: fooProcType; -- RelopgeProd RelopgeProdData: TYPE = REF RelopgeProdDataBody; RelopgeProdDataBody: TYPE = RECORD[ ]; RelopgeProdProcs: RelopNodeProcs; BuildRelopgeProdNode: PROC[position: INT, length: INT] RETURNS[RelopNode]; RelopgeProdfoo: fooProcType; -- RangetypeidProd RangetypeidProdData: TYPE = REF RangetypeidProdDataBody; RangetypeidProdDataBody: TYPE = RECORD[ TypeId: TypeIdNode]; RangetypeidProdProcs: RangeNodeProcs; BuildRangetypeidProdNode: PROC[position: INT, length: INT, TypeId: TypeIdNode] RETURNS[RangeNode]; RangetypeidProdfoo: fooProcType; -- RangesubrangeProd RangesubrangeProdData: TYPE = REF RangesubrangeProdDataBody; RangesubrangeProdDataBody: TYPE = RECORD[ Subrange: SubrangeNode]; RangesubrangeProdProcs: RangeNodeProcs; BuildRangesubrangeProdNode: PROC[position: INT, length: INT, Subrange: SubrangeNode] RETURNS[RangeNode]; RangesubrangeProdfoo: fooProcType; -- CatchProd CatchProdData: TYPE = REF CatchProdDataBody; CatchProdDataBody: TYPE = RECORD[ CatchCaseList: CatchCaseListNode, CatchAny: CatchAnyNode]; CatchProdProcs: CatchNodeProcs; BuildCatchProdNode: PROC[position: INT, length: INT, CatchCaseList: CatchCaseListNode, CatchAny: CatchAnyNode] RETURNS[CatchNode]; CatchProdfoo: fooProcType; -- CatchAnyabsentProd CatchAnyabsentProdData: TYPE = REF CatchAnyabsentProdDataBody; CatchAnyabsentProdDataBody: TYPE = RECORD[ ]; CatchAnyabsentProdProcs: CatchAnyNodeProcs; BuildCatchAnyabsentProdNode: PROC[position: INT, length: INT] RETURNS[CatchAnyNode]; CatchAnyabsentProdfoo: fooProcType; -- CatchAnypresentProd CatchAnypresentProdData: TYPE = REF CatchAnypresentProdDataBody; CatchAnypresentProdDataBody: TYPE = RECORD[ Statement: StatementNode]; CatchAnypresentProdProcs: CatchAnyNodeProcs; BuildCatchAnypresentProdNode: PROC[position: INT, length: INT, Statement: StatementNode] RETURNS[CatchAnyNode]; CatchAnypresentProdfoo: fooProcType; -- CatchCaseListemptyProd CatchCaseListemptyProdData: TYPE = REF CatchCaseListemptyProdDataBody; CatchCaseListemptyProdDataBody: TYPE = RECORD[ ]; CatchCaseListemptyProdProcs: CatchCaseListNodeProcs; BuildCatchCaseListemptyProdNode: PROC[position: INT, length: INT] RETURNS[CatchCaseListNode]; CatchCaseListemptyProdfoo: fooProcType; -- CatchCaseListmoreProd CatchCaseListmoreProdData: TYPE = REF CatchCaseListmoreProdDataBody; CatchCaseListmoreProdDataBody: TYPE = RECORD[ CatchCaseList: CatchCaseListNode, CatchCase: CatchCaseNode]; CatchCaseListmoreProdProcs: CatchCaseListNodeProcs; BuildCatchCaseListmoreProdNode: PROC[position: INT, length: INT, CatchCaseList: CatchCaseListNode, CatchCase: CatchCaseNode] RETURNS[CatchCaseListNode]; CatchCaseListmoreProdfoo: fooProcType; -- CatchCaseProd CatchCaseProdData: TYPE = REF CatchCaseProdDataBody; CatchCaseProdDataBody: TYPE = RECORD[ SignalList: SignalListNode, Statement: StatementNode]; CatchCaseProdProcs: CatchCaseNodeProcs; BuildCatchCaseProdNode: PROC[position: INT, length: INT, SignalList: SignalListNode, Statement: StatementNode] RETURNS[CatchCaseNode]; CatchCaseProdfoo: fooProcType; -- SignalListoneProd SignalListoneProdData: TYPE = REF SignalListoneProdDataBody; SignalListoneProdDataBody: TYPE = RECORD[ Exp: ExpNode]; SignalListoneProdProcs: SignalListNodeProcs; BuildSignalListoneProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[SignalListNode]; SignalListoneProdfoo: fooProcType; -- SignalListmoreProd SignalListmoreProdData: TYPE = REF SignalListmoreProdDataBody; SignalListmoreProdDataBody: TYPE = RECORD[ SignalList: SignalListNode, Exp: ExpNode]; SignalListmoreProdProcs: SignalListNodeProcs; BuildSignalListmoreProdNode: PROC[position: INT, length: INT, SignalList: SignalListNode, Exp: ExpNode] RETURNS[SignalListNode]; SignalListmoreProdfoo: fooProcType; -- ExpListkeylistProd ExpListkeylistProdData: TYPE = REF ExpListkeylistProdDataBody; ExpListkeylistProdDataBody: TYPE = RECORD[ KeyList: KeyListNode]; ExpListkeylistProdProcs: ExpListNodeProcs; BuildExpListkeylistProdNode: PROC[position: INT, length: INT, KeyList: KeyListNode] RETURNS[ExpListNode]; ExpListkeylistProdfoo: fooProcType; -- ExpListorderlistProd ExpListorderlistProdData: TYPE = REF ExpListorderlistProdDataBody; ExpListorderlistProdDataBody: TYPE = RECORD[ OrderList: OrderListNode]; ExpListorderlistProdProcs: ExpListNodeProcs; BuildExpListorderlistProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode] RETURNS[ExpListNode]; ExpListorderlistProdfoo: fooProcType; -- KeyListoneProd KeyListoneProdData: TYPE = REF KeyListoneProdDataBody; KeyListoneProdDataBody: TYPE = RECORD[ KeyItem: KeyItemNode]; KeyListoneProdProcs: KeyListNodeProcs; BuildKeyListoneProdNode: PROC[position: INT, length: INT, KeyItem: KeyItemNode] RETURNS[KeyListNode]; KeyListoneProdfoo: fooProcType; -- KeyListmoreProd KeyListmoreProdData: TYPE = REF KeyListmoreProdDataBody; KeyListmoreProdDataBody: TYPE = RECORD[ KeyList: KeyListNode, KeyItem: KeyItemNode]; KeyListmoreProdProcs: KeyListNodeProcs; BuildKeyListmoreProdNode: PROC[position: INT, length: INT, KeyList: KeyListNode, KeyItem: KeyItemNode] RETURNS[KeyListNode]; KeyListmoreProdfoo: fooProcType; -- KeyItemProd KeyItemProdData: TYPE = REF KeyItemProdDataBody; KeyItemProdDataBody: TYPE = RECORD[ Id: IdNode, OptExp: OptExpNode]; KeyItemProdProcs: KeyItemNodeProcs; BuildKeyItemProdNode: PROC[position: INT, length: INT, Id: IdNode, OptExp: OptExpNode] RETURNS[KeyItemNode]; KeyItemProdfoo: fooProcType; -- OrderListoneProd OrderListoneProdData: TYPE = REF OrderListoneProdDataBody; OrderListoneProdDataBody: TYPE = RECORD[ OptExp: OptExpNode]; OrderListoneProdProcs: OrderListNodeProcs; BuildOrderListoneProdNode: PROC[position: INT, length: INT, OptExp: OptExpNode] RETURNS[OrderListNode]; OrderListoneProdfoo: fooProcType; -- OrderListmoreProd OrderListmoreProdData: TYPE = REF OrderListmoreProdDataBody; OrderListmoreProdDataBody: TYPE = RECORD[ OrderList: OrderListNode, OptExp: OptExpNode]; OrderListmoreProdProcs: OrderListNodeProcs; BuildOrderListmoreProdNode: PROC[position: INT, length: INT, OrderList: OrderListNode, OptExp: OptExpNode] RETURNS[OrderListNode]; OrderListmoreProdfoo: fooProcType; -- OptExpemptyProd OptExpemptyProdData: TYPE = REF OptExpemptyProdDataBody; OptExpemptyProdDataBody: TYPE = RECORD[ ]; OptExpemptyProdProcs: OptExpNodeProcs; BuildOptExpemptyProdNode: PROC[position: INT, length: INT] RETURNS[OptExpNode]; OptExpemptyProdfoo: fooProcType; -- OptExptrashProd OptExptrashProdData: TYPE = REF OptExptrashProdDataBody; OptExptrashProdDataBody: TYPE = RECORD[ ]; OptExptrashProdProcs: OptExpNodeProcs; BuildOptExptrashProdNode: PROC[position: INT, length: INT] RETURNS[OptExpNode]; OptExptrashProdfoo: fooProcType; -- OptExpexpProd OptExpexpProdData: TYPE = REF OptExpexpProdDataBody; OptExpexpProdDataBody: TYPE = RECORD[ Exp: ExpNode]; OptExpexpProdProcs: OptExpNodeProcs; BuildOptExpexpProdNode: PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[OptExpNode]; OptExpexpProdfoo: fooProcType; -- OptTypeabsentProd OptTypeabsentProdData: TYPE = REF OptTypeabsentProdDataBody; OptTypeabsentProdDataBody: TYPE = RECORD[ ]; OptTypeabsentProdProcs: OptTypeNodeProcs; BuildOptTypeabsentProdNode: PROC[position: INT, length: INT] RETURNS[OptTypeNode]; OptTypeabsentProdMakeType: MakeTypeProcType; -- OptTypepresentProd OptTypepresentProdData: TYPE = REF OptTypepresentProdDataBody; OptTypepresentProdDataBody: TYPE = RECORD[ TypeExp: TypeExpNode]; OptTypepresentProdProcs: OptTypeNodeProcs; BuildOptTypepresentProdNode: PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[OptTypeNode]; OptTypepresentProdMakeType: MakeTypeProcType; END..