-- SaffronAG3Impl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 4:33:03 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG3Def, SaffronGenericDef, SaffronATDef; SaffronAG3Impl: CEDAR PROGRAM IMPORTS SaffronAG3Def EXPORTS SaffronAG3Def= BEGIN OPEN SaffronAG3Def, SaffronGenericDef, SaffronATDef; -- QualifierprefixopProd QualifierprefixopProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierprefixopProdfoo]]; BuildQualifierprefixopProdNode: PUBLIC PROC[position: INT, length: INT, PrefixOp: PrefixOpNode] RETURNS[QualifierNode] = BEGIN data: QualifierprefixopProdData _ NEW[QualifierprefixopProdDataBody _ [ PrefixOp]]; RETURN[NEW[QualifierNodeBody_[position, length, QualifierprefixopProdProcs, data]]]; END; -- QualifiertypeopProd QualifiertypeopProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifiertypeopProdfoo]]; BuildQualifiertypeopProdNode: PUBLIC PROC[position: INT, length: INT, TypeOp: TypeOpNode] RETURNS[QualifierNode] = BEGIN data: QualifiertypeopProdData _ NEW[QualifiertypeopProdDataBody _ [ TypeOp]]; RETURN[NEW[QualifierNodeBody_[position, length, QualifiertypeopProdProcs, data]]]; END; -- QualifiersizeProd QualifiersizeProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifiersizeProdfoo]]; BuildQualifiersizeProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[QualifierNode] = BEGIN RETURN[NEW[QualifierNodeBody_[position, length, QualifiersizeProdProcs, NIL]]]; END; -- QualifierbitsProd QualifierbitsProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierbitsProdfoo]]; BuildQualifierbitsProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[QualifierNode] = BEGIN RETURN[NEW[QualifierNodeBody_[position, length, QualifierbitsProdProcs, NIL]]]; END; -- QualifierbytesProd QualifierbytesProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierbytesProdfoo]]; BuildQualifierbytesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[QualifierNode] = BEGIN RETURN[NEW[QualifierNodeBody_[position, length, QualifierbytesProdProcs, NIL]]]; END; -- QualifierunitsProd QualifierunitsProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierunitsProdfoo]]; BuildQualifierunitsProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[QualifierNode] = BEGIN RETURN[NEW[QualifierNodeBody_[position, length, QualifierunitsProdProcs, NIL]]]; END; -- QualifierwordsProd QualifierwordsProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierwordsProdfoo]]; BuildQualifierwordsProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[QualifierNode] = BEGIN RETURN[NEW[QualifierNodeBody_[position, length, QualifierwordsProdProcs, NIL]]]; END; -- QualifierapplyProd QualifierapplyProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierapplyProdfoo]]; BuildQualifierapplyProdNode: PUBLIC PROC[position: INT, length: INT, ExpList: ExpListNode, Catch: CatchNode] RETURNS[QualifierNode] = BEGIN data: QualifierapplyProdData _ NEW[QualifierapplyProdDataBody _ [ ExpList, Catch]]; RETURN[NEW[QualifierNodeBody_[position, length, QualifierapplyProdProcs, data]]]; END; -- QualifierselectProd QualifierselectProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierselectProdfoo]]; BuildQualifierselectProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode] RETURNS[QualifierNode] = BEGIN data: QualifierselectProdData _ NEW[QualifierselectProdDataBody _ [ Id]]; RETURN[NEW[QualifierNodeBody_[position, length, QualifierselectProdProcs, data]]]; END; -- QualifierindirectProd QualifierindirectProdProcs: PUBLIC QualifierNodeProcs _ NEW[QualifierNodeProcsBody _ [QualifierindirectProdfoo]]; BuildQualifierindirectProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[QualifierNode] = BEGIN RETURN[NEW[QualifierNodeBody_[position, length, QualifierindirectProdProcs, NIL]]]; END; -- PrefixOplongProd PrefixOplongProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOplongProdfoo]]; BuildPrefixOplongProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOplongProdProcs, NIL]]]; END; -- PrefixOpabsProd PrefixOpabsProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOpabsProdfoo]]; BuildPrefixOpabsProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOpabsProdProcs, NIL]]]; END; -- PrefixOppredProd PrefixOppredProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOppredProdfoo]]; BuildPrefixOppredProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOppredProdProcs, NIL]]]; END; -- PrefixOpsuccProd PrefixOpsuccProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOpsuccProdfoo]]; BuildPrefixOpsuccProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOpsuccProdProcs, NIL]]]; END; -- PrefixOpordProd PrefixOpordProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOpordProdfoo]]; BuildPrefixOpordProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOpordProdProcs, NIL]]]; END; -- PrefixOpminProd PrefixOpminProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOpminProdfoo]]; BuildPrefixOpminProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOpminProdProcs, NIL]]]; END; -- PrefixOpmaxProd PrefixOpmaxProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOpmaxProdfoo]]; BuildPrefixOpmaxProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOpmaxProdProcs, NIL]]]; END; -- PrefixOpbaseProd PrefixOpbaseProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOpbaseProdfoo]]; BuildPrefixOpbaseProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOpbaseProdProcs, NIL]]]; END; -- PrefixOplengthProd PrefixOplengthProdProcs: PUBLIC PrefixOpNodeProcs _ NEW[PrefixOpNodeProcsBody _ [PrefixOplengthProdfoo]]; BuildPrefixOplengthProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PrefixOpNode] = BEGIN RETURN[NEW[PrefixOpNodeBody_[position, length, PrefixOplengthProdProcs, NIL]]]; END; -- TypeOpcodeProd TypeOpcodeProdProcs: PUBLIC TypeOpNodeProcs _ NEW[TypeOpNodeProcsBody _ [TypeOpcodeProdfoo]]; BuildTypeOpcodeProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TypeOpNode] = BEGIN RETURN[NEW[TypeOpNodeBody_[position, length, TypeOpcodeProdProcs, NIL]]]; END; -- TypeOpfirstProd TypeOpfirstProdProcs: PUBLIC TypeOpNodeProcs _ NEW[TypeOpNodeProcsBody _ [TypeOpfirstProdfoo]]; BuildTypeOpfirstProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TypeOpNode] = BEGIN RETURN[NEW[TypeOpNodeBody_[position, length, TypeOpfirstProdProcs, NIL]]]; END; -- TypeOplastProd TypeOplastProdProcs: PUBLIC TypeOpNodeProcs _ NEW[TypeOpNodeProcsBody _ [TypeOplastProdfoo]]; BuildTypeOplastProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TypeOpNode] = BEGIN RETURN[NEW[TypeOpNodeBody_[position, length, TypeOplastProdProcs, NIL]]]; END; -- TypeOpnilProd TypeOpnilProdProcs: PUBLIC TypeOpNodeProcs _ NEW[TypeOpNodeProcsBody _ [TypeOpnilProdfoo]]; BuildTypeOpnilProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TypeOpNode] = BEGIN RETURN[NEW[TypeOpNodeBody_[position, length, TypeOpnilProdProcs, NIL]]]; END; -- NewplainProd NewplainProdProcs: PUBLIC NewNodeProcs _ NEW[NewNodeProcsBody _ [NewplainProdfoo]]; BuildNewplainProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[NewNode] = BEGIN RETURN[NEW[NewNodeBody_[position, length, NewplainProdProcs, NIL]]]; END; -- NewzonedProd NewzonedProdProcs: PUBLIC NewNodeProcs _ NEW[NewNodeProcsBody _ [NewzonedProdfoo]]; BuildNewzonedProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[NewNode] = BEGIN data: NewzonedProdData _ NEW[NewzonedProdDataBody _ [ Exp]]; RETURN[NEW[NewNodeBody_[position, length, NewzonedProdProcs, data]]]; END; -- ConsplainProd ConsplainProdProcs: PUBLIC ConsNodeProcs _ NEW[ConsNodeProcsBody _ [ConsplainProdfoo]]; BuildConsplainProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ConsNode] = BEGIN RETURN[NEW[ConsNodeBody_[position, length, ConsplainProdProcs, NIL]]]; END; -- ConszonedProd ConszonedProdProcs: PUBLIC ConsNodeProcs _ NEW[ConsNodeProcsBody _ [ConszonedProdfoo]]; BuildConszonedProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[ConsNode] = BEGIN data: ConszonedProdData _ NEW[ConszonedProdDataBody _ [ Exp]]; RETURN[NEW[ConsNodeBody_[position, length, ConszonedProdProcs, data]]]; END; -- ListConsplainProd ListConsplainProdProcs: PUBLIC ListConsNodeProcs _ NEW[ListConsNodeProcsBody _ [ListConsplainProdfoo]]; BuildListConsplainProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ListConsNode] = BEGIN RETURN[NEW[ListConsNodeBody_[position, length, ListConsplainProdProcs, NIL]]]; END; -- ListConszonedProd ListConszonedProdProcs: PUBLIC ListConsNodeProcs _ NEW[ListConsNodeProcsBody _ [ListConszonedProdfoo]]; BuildListConszonedProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[ListConsNode] = BEGIN data: ListConszonedProdData _ NEW[ListConszonedProdDataBody _ [ Exp]]; RETURN[NEW[ListConsNodeBody_[position, length, ListConszonedProdProcs, data]]]; END; -- DescListexplicitlengthProd DescListexplicitlengthProdProcs: PUBLIC DescListNodeProcs _ NEW[DescListNodeProcsBody _ [DescListexplicitlengthProdfoo]]; BuildDescListexplicitlengthProdNode: PUBLIC PROC[position: INT, length: INT, Expbase: ExpNode, Explength: ExpNode, OptType: OptTypeNode] RETURNS[DescListNode] = BEGIN data: DescListexplicitlengthProdData _ NEW[DescListexplicitlengthProdDataBody _ [ Expbase, Explength, OptType]]; RETURN[NEW[DescListNodeBody_[position, length, DescListexplicitlengthProdProcs, data]]]; END; -- DescListdefaultlengthProd DescListdefaultlengthProdProcs: PUBLIC DescListNodeProcs _ NEW[DescListNodeProcsBody _ [DescListdefaultlengthProdfoo]]; BuildDescListdefaultlengthProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[DescListNode] = BEGIN data: DescListdefaultlengthProdData _ NEW[DescListdefaultlengthProdDataBody _ [ Exp]]; RETURN[NEW[DescListNodeBody_[position, length, DescListdefaultlengthProdProcs, data]]]; END; -- InitializationemptyProd InitializationemptyProdProcs: PUBLIC InitializationNodeProcs _ NEW[InitializationNodeProcsBody _ [InitializationemptyProdfoo]]; BuildInitializationemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[InitializationNode] = BEGIN RETURN[NEW[InitializationNodeBody_[position, length, InitializationemptyProdProcs, NIL]]]; END; -- InitializationbindingProd InitializationbindingProdProcs: PUBLIC InitializationNodeProcs _ NEW[InitializationNodeProcsBody _ [InitializationbindingProdfoo]]; BuildInitializationbindingProdNode: PUBLIC PROC[position: INT, length: INT, InitialValue: InitialValueNode] RETURNS[InitializationNode] = BEGIN data: InitializationbindingProdData _ NEW[InitializationbindingProdDataBody _ [ InitialValue]]; RETURN[NEW[InitializationNodeBody_[position, length, InitializationbindingProdProcs, data]]]; END; -- InitializationassignmentProd InitializationassignmentProdProcs: PUBLIC InitializationNodeProcs _ NEW[InitializationNodeProcsBody _ [InitializationassignmentProdfoo]]; BuildInitializationassignmentProdNode: PUBLIC PROC[position: INT, length: INT, InitialValue: InitialValueNode] RETURNS[InitializationNode] = BEGIN data: InitializationassignmentProdData _ NEW[InitializationassignmentProdDataBody _ [ InitialValue]]; RETURN[NEW[InitializationNodeBody_[position, length, InitializationassignmentProdProcs, data]]]; END; -- InitialValuetrashProd InitialValuetrashProdProcs: PUBLIC InitialValueNodeProcs _ NEW[InitialValueNodeProcsBody _ [InitialValuetrashProdfoo]]; BuildInitialValuetrashProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[InitialValueNode] = BEGIN RETURN[NEW[InitialValueNodeBody_[position, length, InitialValuetrashProdProcs, NIL]]]; END; -- InitialValuecodeProd InitialValuecodeProdProcs: PUBLIC InitialValueNodeProcs _ NEW[InitialValueNodeProcsBody _ [InitialValuecodeProdfoo]]; BuildInitialValuecodeProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[InitialValueNode] = BEGIN RETURN[NEW[InitialValueNodeBody_[position, length, InitialValuecodeProdProcs, NIL]]]; END; -- InitialValueexpProd InitialValueexpProdProcs: PUBLIC InitialValueNodeProcs _ NEW[InitialValueNodeProcsBody _ [InitialValueexpProdfoo]]; BuildInitialValueexpProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[InitialValueNode] = BEGIN data: InitialValueexpProdData _ NEW[InitialValueexpProdDataBody _ [ Exp]]; RETURN[NEW[InitialValueNodeBody_[position, length, InitialValueexpProdProcs, data]]]; END; -- InitialValueblockProd InitialValueblockProdProcs: PUBLIC InitialValueNodeProcs _ NEW[InitialValueNodeProcsBody _ [InitialValueblockProdfoo]]; BuildInitialValueblockProdNode: PUBLIC PROC[position: INT, length: INT, Checked: CheckedNode, Inline: InlineNode, Block: BlockNode] RETURNS[InitialValueNode] = BEGIN data: InitialValueblockProdData _ NEW[InitialValueblockProdDataBody _ [ Checked, Inline, Block]]; RETURN[NEW[InitialValueNodeBody_[position, length, InitialValueblockProdProcs, data]]]; END; -- InitialValuemachinecodeProd InitialValuemachinecodeProdProcs: PUBLIC InitialValueNodeProcs _ NEW[InitialValueNodeProcsBody _ [InitialValuemachinecodeProdfoo]]; BuildInitialValuemachinecodeProdNode: PUBLIC PROC[position: INT, length: INT, Checked: CheckedNode, CodeList: CodeListNode] RETURNS[InitialValueNode] = BEGIN data: InitialValuemachinecodeProdData _ NEW[InitialValuemachinecodeProdDataBody _ [ Checked, CodeList]]; RETURN[NEW[InitialValueNodeBody_[position, length, InitialValuemachinecodeProdProcs, data]]]; END; -- CheckedemptyProd CheckedemptyProdProcs: PUBLIC CheckedNodeProcs _ NEW[CheckedNodeProcsBody _ [CheckedemptyProdfoo]]; BuildCheckedemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[CheckedNode] = BEGIN RETURN[NEW[CheckedNodeBody_[position, length, CheckedemptyProdProcs, NIL]]]; END; -- CheckedcheckedProd CheckedcheckedProdProcs: PUBLIC CheckedNodeProcs _ NEW[CheckedNodeProcsBody _ [CheckedcheckedProdfoo]]; BuildCheckedcheckedProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[CheckedNode] = BEGIN RETURN[NEW[CheckedNodeBody_[position, length, CheckedcheckedProdProcs, NIL]]]; END; -- CheckedtrustedProd CheckedtrustedProdProcs: PUBLIC CheckedNodeProcs _ NEW[CheckedNodeProcsBody _ [CheckedtrustedProdfoo]]; BuildCheckedtrustedProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[CheckedNode] = BEGIN RETURN[NEW[CheckedNodeBody_[position, length, CheckedtrustedProdProcs, NIL]]]; END; -- CheckeduncheckedProd CheckeduncheckedProdProcs: PUBLIC CheckedNodeProcs _ NEW[CheckedNodeProcsBody _ [CheckeduncheckedProdfoo]]; BuildCheckeduncheckedProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[CheckedNode] = BEGIN RETURN[NEW[CheckedNodeBody_[position, length, CheckeduncheckedProdProcs, NIL]]]; END; -- InlineyesProd InlineyesProdProcs: PUBLIC InlineNodeProcs _ NEW[InlineNodeProcsBody _ [InlineyesProdfoo]]; BuildInlineyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[InlineNode] = BEGIN RETURN[NEW[InlineNodeBody_[position, length, InlineyesProdProcs, NIL]]]; END; -- InlinenoProd InlinenoProdProcs: PUBLIC InlineNodeProcs _ NEW[InlineNodeProcsBody _ [InlinenoProdfoo]]; BuildInlinenoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[InlineNode] = BEGIN RETURN[NEW[InlineNodeBody_[position, length, InlinenoProdProcs, NIL]]]; END; -- CodeListoneProd CodeListoneProdProcs: PUBLIC CodeListNodeProcs _ NEW[CodeListNodeProcsBody _ [CodeListoneProdfoo]]; BuildCodeListoneProdNode: PUBLIC PROC[position: INT, length: INT, OrderList: OrderListNode] RETURNS[CodeListNode] = BEGIN data: CodeListoneProdData _ NEW[CodeListoneProdDataBody _ [ OrderList]]; RETURN[NEW[CodeListNodeBody_[position, length, CodeListoneProdProcs, data]]]; END; -- CodeListmoreProd CodeListmoreProdProcs: PUBLIC CodeListNodeProcs _ NEW[CodeListNodeProcsBody _ [CodeListmoreProdfoo]]; BuildCodeListmoreProdNode: PUBLIC PROC[position: INT, length: INT, CodeList: CodeListNode, OrderList: OrderListNode] RETURNS[CodeListNode] = BEGIN data: CodeListmoreProdData _ NEW[CodeListmoreProdDataBody _ [ CodeList, OrderList]]; RETURN[NEW[CodeListNodeBody_[position, length, CodeListmoreProdProcs, data]]]; END; -- TransferOpsignalProd TransferOpsignalProdProcs: PUBLIC TransferOpNodeProcs _ NEW[TransferOpNodeProcsBody _ [TransferOpsignalProdfoo]]; BuildTransferOpsignalProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferOpNode] = BEGIN RETURN[NEW[TransferOpNodeBody_[position, length, TransferOpsignalProdProcs, NIL]]]; END; -- TransferOperrorProd TransferOperrorProdProcs: PUBLIC TransferOpNodeProcs _ NEW[TransferOpNodeProcsBody _ [TransferOperrorProdfoo]]; BuildTransferOperrorProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferOpNode] = BEGIN RETURN[NEW[TransferOpNodeBody_[position, length, TransferOperrorProdProcs, NIL]]]; END; -- TransferOpstartProd TransferOpstartProdProcs: PUBLIC TransferOpNodeProcs _ NEW[TransferOpNodeProcsBody _ [TransferOpstartProdfoo]]; BuildTransferOpstartProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferOpNode] = BEGIN RETURN[NEW[TransferOpNodeBody_[position, length, TransferOpstartProdProcs, NIL]]]; END; -- TransferOpjoinProd TransferOpjoinProdProcs: PUBLIC TransferOpNodeProcs _ NEW[TransferOpNodeProcsBody _ [TransferOpjoinProdfoo]]; BuildTransferOpjoinProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferOpNode] = BEGIN RETURN[NEW[TransferOpNodeBody_[position, length, TransferOpjoinProdProcs, NIL]]]; END; -- TransferOpnewProd TransferOpnewProdProcs: PUBLIC TransferOpNodeProcs _ NEW[TransferOpNodeProcsBody _ [TransferOpnewProdfoo]]; BuildTransferOpnewProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferOpNode] = BEGIN RETURN[NEW[TransferOpNodeBody_[position, length, TransferOpnewProdProcs, NIL]]]; END; -- TransferOpforkProd TransferOpforkProdProcs: PUBLIC TransferOpNodeProcs _ NEW[TransferOpNodeProcsBody _ [TransferOpforkProdfoo]]; BuildTransferOpforkProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferOpNode] = BEGIN RETURN[NEW[TransferOpNodeBody_[position, length, TransferOpforkProdProcs, NIL]]]; END; END..