-- SaffronAG8Impl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 2:46:05 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG8Def, SaffronGenericDef, SaffronATDef; SaffronAG8Impl: CEDAR PROGRAM IMPORTS SaffronAG8Def EXPORTS SaffronAG8Def= BEGIN OPEN SaffronAG8Def, SaffronGenericDef, SaffronATDef; -- IdListoneProd IdListoneProdProcs: PUBLIC IdListNodeProcs _ NEW[IdListNodeProcsBody _ [IdListoneProdAddNamesToUnionList, IdListoneProdAddVariantNamesToEnumTypeTGN, IdListoneProdAddIdsToRestrictionList]]; BuildIdListoneProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode] RETURNS[IdListNode] = BEGIN data: IdListoneProdData _ NEW[IdListoneProdDataBody _ [ Id]]; RETURN[NEW[IdListNodeBody_[position, length, IdListoneProdProcs, data]]]; END; -- IdListmoreProd IdListmoreProdProcs: PUBLIC IdListNodeProcs _ NEW[IdListNodeProcsBody _ [IdListmoreProdAddNamesToUnionList, IdListmoreProdAddVariantNamesToEnumTypeTGN, IdListmoreProdAddIdsToRestrictionList]]; BuildIdListmoreProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode, IdList: IdListNode] RETURNS[IdListNode] = BEGIN data: IdListmoreProdData _ NEW[IdListmoreProdDataBody _ [ Id, IdList]]; RETURN[NEW[IdListNodeBody_[position, length, IdListmoreProdProcs, data]]]; END; -- OrderedyesProd OrderedyesProdProcs: PUBLIC OrderedNodeProcs _ NEW[OrderedNodeProcsBody _ [OrderedyesProdIsKeywordPresent]]; BuildOrderedyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[OrderedNode] = BEGIN RETURN[NEW[OrderedNodeBody_[position, length, OrderedyesProdProcs, NIL]]]; END; -- OrderednoProd OrderednoProdProcs: PUBLIC OrderedNodeProcs _ NEW[OrderedNodeProcsBody _ [OrderednoProdIsKeywordPresent]]; BuildOrderednoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[OrderedNode] = BEGIN RETURN[NEW[OrderedNodeBody_[position, length, OrderednoProdProcs, NIL]]]; END; -- BaseyesProd BaseyesProdProcs: PUBLIC BaseNodeProcs _ NEW[BaseNodeProcsBody _ [BaseyesProdIsKeywordPresent]]; BuildBaseyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[BaseNode] = BEGIN RETURN[NEW[BaseNodeBody_[position, length, BaseyesProdProcs, NIL]]]; END; -- BasenoProd BasenoProdProcs: PUBLIC BaseNodeProcs _ NEW[BaseNodeProcsBody _ [BasenoProdIsKeywordPresent]]; BuildBasenoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[BaseNode] = BEGIN RETURN[NEW[BaseNodeBody_[position, length, BasenoProdProcs, NIL]]]; END; -- PointerTypeunspecifiedProd PointerTypeunspecifiedProdProcs: PUBLIC PointerTypeNodeProcs _ NEW[PointerTypeNodeProcsBody _ [PointerTypeunspecifiedProdGetPointerTypeInfo]]; BuildPointerTypeunspecifiedProdNode: PUBLIC PROC[position: INT, length: INT, OptInterval: OptIntervalNode] RETURNS[PointerTypeNode] = BEGIN data: PointerTypeunspecifiedProdData _ NEW[PointerTypeunspecifiedProdDataBody _ [ OptInterval]]; RETURN[NEW[PointerTypeNodeBody_[position, length, PointerTypeunspecifiedProdProcs, data]]]; END; -- PointerTypespecifiedProd PointerTypespecifiedProdProcs: PUBLIC PointerTypeNodeProcs _ NEW[PointerTypeNodeProcsBody _ [PointerTypespecifiedProdGetPointerTypeInfo]]; BuildPointerTypespecifiedProdNode: PUBLIC PROC[position: INT, length: INT, OptInterval: OptIntervalNode, ReadOnly: ReadOnlyNode, TypeExp: TypeExpNode] RETURNS[PointerTypeNode] = BEGIN data: PointerTypespecifiedProdData _ NEW[PointerTypespecifiedProdDataBody _ [ OptInterval, ReadOnly, TypeExp]]; RETURN[NEW[PointerTypeNodeBody_[position, length, PointerTypespecifiedProdProcs, data]]]; END; -- OptIntervalabsentProd OptIntervalabsentProdProcs: PUBLIC OptIntervalNodeProcs _ NEW[OptIntervalNodeProcsBody _ [OptIntervalabsentProdGetBoundsVal]]; BuildOptIntervalabsentProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[OptIntervalNode] = BEGIN RETURN[NEW[OptIntervalNodeBody_[position, length, OptIntervalabsentProdProcs, NIL]]]; END; -- OptIntervalpresentProd OptIntervalpresentProdProcs: PUBLIC OptIntervalNodeProcs _ NEW[OptIntervalNodeProcsBody _ [OptIntervalpresentProdGetBoundsVal]]; BuildOptIntervalpresentProdNode: PUBLIC PROC[position: INT, length: INT, Interval: IntervalNode] RETURNS[OptIntervalNode] = BEGIN data: OptIntervalpresentProdData _ NEW[OptIntervalpresentProdDataBody _ [ Interval]]; RETURN[NEW[OptIntervalNodeBody_[position, length, OptIntervalpresentProdProcs, data]]]; END; -- ReadOnlyyesProd ReadOnlyyesProdProcs: PUBLIC ReadOnlyNodeProcs _ NEW[ReadOnlyNodeProcsBody _ [ReadOnlyyesProdIsKeywordPresent]]; BuildReadOnlyyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ReadOnlyNode] = BEGIN RETURN[NEW[ReadOnlyNodeBody_[position, length, ReadOnlyyesProdProcs, NIL]]]; END; -- ReadOnlynoProd ReadOnlynoProdProcs: PUBLIC ReadOnlyNodeProcs _ NEW[ReadOnlyNodeProcsBody _ [ReadOnlynoProdIsKeywordPresent]]; BuildReadOnlynoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ReadOnlyNode] = BEGIN RETURN[NEW[ReadOnlyNodeBody_[position, length, ReadOnlynoProdProcs, NIL]]]; END; -- SafeemptyProd SafeemptyProdProcs: PUBLIC SafeNodeProcs _ NEW[SafeNodeProcsBody _ [SafeemptyProdIsKeywordPresent]]; BuildSafeemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[SafeNode] = BEGIN RETURN[NEW[SafeNodeBody_[position, length, SafeemptyProdProcs, NIL]]]; END; -- SafeyesProd SafeyesProdProcs: PUBLIC SafeNodeProcs _ NEW[SafeNodeProcsBody _ [SafeyesProdIsKeywordPresent]]; BuildSafeyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[SafeNode] = BEGIN RETURN[NEW[SafeNodeBody_[position, length, SafeyesProdProcs, NIL]]]; END; -- SafenoProd SafenoProdProcs: PUBLIC SafeNodeProcs _ NEW[SafeNodeProcsBody _ [SafenoProdIsKeywordPresent]]; BuildSafenoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[SafeNode] = BEGIN RETURN[NEW[SafeNodeBody_[position, length, SafenoProdProcs, NIL]]]; END; -- TransferModeprocProd TransferModeprocProdProcs: PUBLIC TransferModeNodeProcs _ NEW[TransferModeNodeProcsBody _ [TransferModeprocProdMakeTransferMode]]; BuildTransferModeprocProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferModeNode] = BEGIN RETURN[NEW[TransferModeNodeBody_[position, length, TransferModeprocProdProcs, NIL]]]; END; -- TransferModeportProd TransferModeportProdProcs: PUBLIC TransferModeNodeProcs _ NEW[TransferModeNodeProcsBody _ [TransferModeportProdMakeTransferMode]]; BuildTransferModeportProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferModeNode] = BEGIN RETURN[NEW[TransferModeNodeBody_[position, length, TransferModeportProdProcs, NIL]]]; END; -- TransferModesignalProd TransferModesignalProdProcs: PUBLIC TransferModeNodeProcs _ NEW[TransferModeNodeProcsBody _ [TransferModesignalProdMakeTransferMode]]; BuildTransferModesignalProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferModeNode] = BEGIN RETURN[NEW[TransferModeNodeBody_[position, length, TransferModesignalProdProcs, NIL]]]; END; -- TransferModeerrorProd TransferModeerrorProdProcs: PUBLIC TransferModeNodeProcs _ NEW[TransferModeNodeProcsBody _ [TransferModeerrorProdMakeTransferMode]]; BuildTransferModeerrorProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferModeNode] = BEGIN RETURN[NEW[TransferModeNodeBody_[position, length, TransferModeerrorProdProcs, NIL]]]; END; -- TransferModeprocessProd TransferModeprocessProdProcs: PUBLIC TransferModeNodeProcs _ NEW[TransferModeNodeProcsBody _ [TransferModeprocessProdMakeTransferMode]]; BuildTransferModeprocessProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferModeNode] = BEGIN RETURN[NEW[TransferModeNodeBody_[position, length, TransferModeprocessProdProcs, NIL]]]; END; -- TransferModeprogramProd TransferModeprogramProdProcs: PUBLIC TransferModeNodeProcs _ NEW[TransferModeNodeProcsBody _ [TransferModeprogramProdMakeTransferMode]]; BuildTransferModeprogramProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TransferModeNode] = BEGIN RETURN[NEW[TransferModeNodeBody_[position, length, TransferModeprogramProdProcs, NIL]]]; END; -- ArgumentsProd ArgumentsProdProcs: PUBLIC ArgumentsNodeProcs _ NEW[ArgumentsNodeProcsBody _ [ArgumentsProdMakeArgumentLists]]; BuildArgumentsProdNode: PUBLIC PROC[position: INT, length: INT, ParameterListinput: ParameterListNode, ParameterListoutput: ParameterListNode] RETURNS[ArgumentsNode] = BEGIN data: ArgumentsProdData _ NEW[ArgumentsProdDataBody _ [ ParameterListinput, ParameterListoutput]]; RETURN[NEW[ArgumentsNodeBody_[position, length, ArgumentsProdProcs, data]]]; END; -- ParameterListemptyProd ParameterListemptyProdProcs: PUBLIC ParameterListNodeProcs _ NEW[ParameterListNodeProcsBody _ [ParameterListemptyProdMakeFieldList]]; BuildParameterListemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ParameterListNode] = BEGIN RETURN[NEW[ParameterListNodeBody_[position, length, ParameterListemptyProdProcs, NIL]]]; END; -- ParameterListanyProd ParameterListanyProdProcs: PUBLIC ParameterListNodeProcs _ NEW[ParameterListNodeProcsBody _ [ParameterListanyProdMakeFieldList]]; BuildParameterListanyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ParameterListNode] = BEGIN RETURN[NEW[ParameterListNodeBody_[position, length, ParameterListanyProdProcs, NIL]]]; END; -- ParameterListpairlistProd ParameterListpairlistProdProcs: PUBLIC ParameterListNodeProcs _ NEW[ParameterListNodeProcsBody _ [ParameterListpairlistProdMakeFieldList]]; BuildParameterListpairlistProdNode: PUBLIC PROC[position: INT, length: INT, PairList: PairListNode] RETURNS[ParameterListNode] = BEGIN data: ParameterListpairlistProdData _ NEW[ParameterListpairlistProdDataBody _ [ PairList]]; RETURN[NEW[ParameterListNodeBody_[position, length, ParameterListpairlistProdProcs, data]]]; END; -- ParameterListtypelistProd ParameterListtypelistProdProcs: PUBLIC ParameterListNodeProcs _ NEW[ParameterListNodeProcsBody _ [ParameterListtypelistProdMakeFieldList]]; BuildParameterListtypelistProdNode: PUBLIC PROC[position: INT, length: INT, TypeList: TypeListNode] RETURNS[ParameterListNode] = BEGIN data: ParameterListtypelistProdData _ NEW[ParameterListtypelistProdDataBody _ [ TypeList]]; RETURN[NEW[ParameterListNodeBody_[position, length, ParameterListtypelistProdProcs, data]]]; END; -- UncountedyesProd UncountedyesProdProcs: PUBLIC UncountedNodeProcs _ NEW[UncountedNodeProcsBody _ [UncountedyesProdIsKeywordPresent]]; BuildUncountedyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[UncountedNode] = BEGIN RETURN[NEW[UncountedNodeBody_[position, length, UncountedyesProdProcs, NIL]]]; END; -- UncountednoProd UncountednoProdProcs: PUBLIC UncountedNodeProcs _ NEW[UncountedNodeProcsBody _ [UncountednoProdIsKeywordPresent]]; BuildUncountednoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[UncountedNode] = BEGIN RETURN[NEW[UncountedNodeBody_[position, length, UncountednoProdProcs, NIL]]]; END; -- TypeApplyoneProd TypeApplyoneProdProcs: PUBLIC TypeApplyNodeProcs _ NEW[TypeApplyNodeProcsBody _ [TypeApplyoneProdMakeType]]; BuildTypeApplyoneProdNode: PUBLIC PROC[position: INT, length: INT, TypeId: TypeIdNode, Exp: ExpNode] RETURNS[TypeApplyNode] = BEGIN data: TypeApplyoneProdData _ NEW[TypeApplyoneProdDataBody _ [ TypeId, Exp]]; RETURN[NEW[TypeApplyNodeBody_[position, length, TypeApplyoneProdProcs, data]]]; END; -- TypeApplymorelengthsProd TypeApplymorelengthsProdProcs: PUBLIC TypeApplyNodeProcs _ NEW[TypeApplyNodeProcsBody _ [TypeApplymorelengthsProdMakeType]]; BuildTypeApplymorelengthsProdNode: PUBLIC PROC[position: INT, length: INT, TypeApply: TypeApplyNode, Exp: ExpNode] RETURNS[TypeApplyNode] = BEGIN data: TypeApplymorelengthsProdData _ NEW[TypeApplymorelengthsProdDataBody _ [ TypeApply, Exp]]; RETURN[NEW[TypeApplyNodeBody_[position, length, TypeApplymorelengthsProdProcs, data]]]; END; -- TypeApplymoreidsProd TypeApplymoreidsProdProcs: PUBLIC TypeApplyNodeProcs _ NEW[TypeApplyNodeProcsBody _ [TypeApplymoreidsProdMakeType]]; BuildTypeApplymoreidsProdNode: PUBLIC PROC[position: INT, length: INT, TypeApply: TypeApplyNode, Id: IdNode] RETURNS[TypeApplyNode] = BEGIN data: TypeApplymoreidsProdData _ NEW[TypeApplymoreidsProdDataBody _ [ TypeApply, Id]]; RETURN[NEW[TypeApplyNodeBody_[position, length, TypeApplymoreidsProdProcs, data]]]; END; END..