-- SaffronAG7Impl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 4:33:15 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG7Def, SaffronGenericDef, SaffronATDef; SaffronAG7Impl: CEDAR PROGRAM IMPORTS SaffronAG7Def EXPORTS SaffronAG7Def= BEGIN OPEN SaffronAG7Def, SaffronGenericDef, SaffronATDef; -- AccessemptyProd AccessemptyProdProcs: PUBLIC AccessNodeProcs _ NEW[AccessNodeProcsBody _ [AccessemptyProdGetAccessVal]]; BuildAccessemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[AccessNode] = BEGIN RETURN[NEW[AccessNodeBody_[position, length, AccessemptyProdProcs, NIL]]]; END; -- AccesspublicProd AccesspublicProdProcs: PUBLIC AccessNodeProcs _ NEW[AccessNodeProcsBody _ [AccesspublicProdGetAccessVal]]; BuildAccesspublicProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[AccessNode] = BEGIN RETURN[NEW[AccessNodeBody_[position, length, AccesspublicProdProcs, NIL]]]; END; -- AccessprivateProd AccessprivateProdProcs: PUBLIC AccessNodeProcs _ NEW[AccessNodeProcsBody _ [AccessprivateProdGetAccessVal]]; BuildAccessprivateProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[AccessNode] = BEGIN RETURN[NEW[AccessNodeBody_[position, length, AccessprivateProdProcs, NIL]]]; END; -- DefaultemptyProd DefaultemptyProdProcs: PUBLIC DefaultNodeProcs _ NEW[DefaultNodeProcsBody _ [DefaultemptyProdGetDefaultExpVal]]; BuildDefaultemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[DefaultNode] = BEGIN RETURN[NEW[DefaultNodeBody_[position, length, DefaultemptyProdProcs, NIL]]]; END; -- DefaultgetsProd DefaultgetsProdProcs: PUBLIC DefaultNodeProcs _ NEW[DefaultNodeProcsBody _ [DefaultgetsProdGetDefaultExpVal]]; BuildDefaultgetsProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[DefaultNode] = BEGIN RETURN[NEW[DefaultNodeBody_[position, length, DefaultgetsProdProcs, NIL]]]; END; -- DefaultgetsexpProd DefaultgetsexpProdProcs: PUBLIC DefaultNodeProcs _ NEW[DefaultNodeProcsBody _ [DefaultgetsexpProdGetDefaultExpVal]]; BuildDefaultgetsexpProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[DefaultNode] = BEGIN data: DefaultgetsexpProdData _ NEW[DefaultgetsexpProdDataBody _ [ Exp]]; RETURN[NEW[DefaultNodeBody_[position, length, DefaultgetsexpProdProcs, data]]]; END; -- DefaultgetstrashProd DefaultgetstrashProdProcs: PUBLIC DefaultNodeProcs _ NEW[DefaultNodeProcsBody _ [DefaultgetstrashProdGetDefaultExpVal]]; BuildDefaultgetstrashProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[DefaultNode] = BEGIN RETURN[NEW[DefaultNodeBody_[position, length, DefaultgetstrashProdProcs, NIL]]]; END; -- DefaultgetsexportrashProd DefaultgetsexportrashProdProcs: PUBLIC DefaultNodeProcs _ NEW[DefaultNodeProcsBody _ [DefaultgetsexportrashProdGetDefaultExpVal]]; BuildDefaultgetsexportrashProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[DefaultNode] = BEGIN data: DefaultgetsexportrashProdData _ NEW[DefaultgetsexportrashProdDataBody _ [ Exp]]; RETURN[NEW[DefaultNodeBody_[position, length, DefaultgetsexportrashProdProcs, data]]]; END; -- IdentidProd IdentidProdProcs: PUBLIC IdentNodeProcs _ NEW[IdentNodeProcsBody _ [IdentidProdAddNamesToFieldList, IdentidProdPutNewNamesInLocalContext1, IdentidProdRecAddArcsfromLVTGNtoTGN, IdentidProdGetIdentInfo, IdentidProdAddNamesToSequence]]; BuildIdentidProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode] RETURNS[IdentNode] = BEGIN data: IdentidProdData _ NEW[IdentidProdDataBody _ [ Id]]; RETURN[NEW[IdentNodeBody_[position, length, IdentidProdProcs, data]]]; END; -- IdentidpositionProd IdentidpositionProdProcs: PUBLIC IdentNodeProcs _ NEW[IdentNodeProcsBody _ [IdentidpositionProdAddNamesToFieldList, IdentidpositionProdPutNewNamesInLocalContext1, IdentidpositionProdRecAddArcsfromLVTGNtoTGN, IdentidpositionProdGetIdentInfo, IdentidpositionProdAddNamesToSequence]]; BuildIdentidpositionProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode, Position: PositionNode] RETURNS[IdentNode] = BEGIN data: IdentidpositionProdData _ NEW[IdentidpositionProdDataBody _ [ Id, Position]]; RETURN[NEW[IdentNodeBody_[position, length, IdentidpositionProdProcs, data]]]; END; -- PositionProd PositionProdProcs: PUBLIC PositionNodeProcs _ NEW[PositionNodeProcsBody _ [PositionProdGetPositionVal]]; BuildPositionProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode, OptBits: OptBitsNode] RETURNS[PositionNode] = BEGIN data: PositionProdData _ NEW[PositionProdDataBody _ [ Exp, OptBits]]; RETURN[NEW[PositionNodeBody_[position, length, PositionProdProcs, data]]]; END; -- OptBitsabsentProd OptBitsabsentProdProcs: PUBLIC OptBitsNodeProcs _ NEW[OptBitsNodeProcsBody _ [OptBitsabsentProdGetBoundsVal]]; BuildOptBitsabsentProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[OptBitsNode] = BEGIN RETURN[NEW[OptBitsNodeBody_[position, length, OptBitsabsentProdProcs, NIL]]]; END; -- OptBitspresentProd OptBitspresentProdProcs: PUBLIC OptBitsNodeProcs _ NEW[OptBitsNodeProcsBody _ [OptBitspresentProdGetBoundsVal]]; BuildOptBitspresentProdNode: PUBLIC PROC[position: INT, length: INT, Bounds: BoundsNode] RETURNS[OptBitsNode] = BEGIN data: OptBitspresentProdData _ NEW[OptBitspresentProdDataBody _ [ Bounds]]; RETURN[NEW[OptBitsNodeBody_[position, length, OptBitspresentProdProcs, data]]]; END; -- IdentListoneProd IdentListoneProdProcs: PUBLIC IdentListNodeProcs _ NEW[IdentListNodeProcsBody _ [IdentListoneProdAddNamesToFieldList, IdentListoneProdPutNewNamesInLocalContext1, IdentListoneProdRecAddArcsfromLVTGNtoTGN, IdentListoneProdMakeNameSequence, IdentListoneProdAddNamesToSequence]]; BuildIdentListoneProdNode: PUBLIC PROC[position: INT, length: INT, Ident: IdentNode] RETURNS[IdentListNode] = BEGIN data: IdentListoneProdData _ NEW[IdentListoneProdDataBody _ [ Ident]]; RETURN[NEW[IdentListNodeBody_[position, length, IdentListoneProdProcs, data]]]; END; -- IdentListmanyProd IdentListmanyProdProcs: PUBLIC IdentListNodeProcs _ NEW[IdentListNodeProcsBody _ [IdentListmanyProdAddNamesToFieldList, IdentListmanyProdPutNewNamesInLocalContext1, IdentListmanyProdRecAddArcsfromLVTGNtoTGN, IdentListmanyProdMakeNameSequence, IdentListmanyProdAddNamesToSequence]]; BuildIdentListmanyProdNode: PUBLIC PROC[position: INT, length: INT, IdentListhead: IdentListNode, IdentListtail: IdentListNode] RETURNS[IdentListNode] = BEGIN data: IdentListmanyProdData _ NEW[IdentListmanyProdDataBody _ [ IdentListhead, IdentListtail]]; RETURN[NEW[IdentListNodeBody_[position, length, IdentListmanyProdProcs, data]]]; END; -- TagidentProd TagidentProdProcs: PUBLIC TagNodeProcs _ NEW[TagNodeProcsBody _ [TagidentProdMakeVariantFlavor, TagidentProdMakeTagType, TagidentProdGetSequenceTagInfo]]; BuildTagidentProdNode: PUBLIC PROC[position: INT, length: INT, Ident: IdentNode, Access: AccessNode, TagType: TagTypeNode] RETURNS[TagNode] = BEGIN data: TagidentProdData _ NEW[TagidentProdDataBody _ [ Ident, Access, TagType]]; RETURN[NEW[TagNodeBody_[position, length, TagidentProdProcs, data]]]; END; -- TagcomputedProd TagcomputedProdProcs: PUBLIC TagNodeProcs _ NEW[TagNodeProcsBody _ [TagcomputedProdMakeVariantFlavor, TagcomputedProdMakeTagType, TagcomputedProdGetSequenceTagInfo]]; BuildTagcomputedProdNode: PUBLIC PROC[position: INT, length: INT, TagType: TagTypeNode] RETURNS[TagNode] = BEGIN data: TagcomputedProdData _ NEW[TagcomputedProdDataBody _ [ TagType]]; RETURN[NEW[TagNodeBody_[position, length, TagcomputedProdProcs, data]]]; END; -- TagoverlaidProd TagoverlaidProdProcs: PUBLIC TagNodeProcs _ NEW[TagNodeProcsBody _ [TagoverlaidProdMakeVariantFlavor, TagoverlaidProdMakeTagType, TagoverlaidProdGetSequenceTagInfo]]; BuildTagoverlaidProdNode: PUBLIC PROC[position: INT, length: INT, TagType: TagTypeNode] RETURNS[TagNode] = BEGIN data: TagoverlaidProdData _ NEW[TagoverlaidProdDataBody _ [ TagType]]; RETURN[NEW[TagNodeBody_[position, length, TagoverlaidProdProcs, data]]]; END; -- TagTypestarProd TagTypestarProdProcs: PUBLIC TagTypeNodeProcs _ NEW[TagTypeNodeProcsBody _ [TagTypestarProdMakeTagType]]; BuildTagTypestarProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TagTypeNode] = BEGIN RETURN[NEW[TagTypeNodeBody_[position, length, TagTypestarProdProcs, NIL]]]; END; -- TagTypetypeexpProd TagTypetypeexpProdProcs: PUBLIC TagTypeNodeProcs _ NEW[TagTypeNodeProcsBody _ [TagTypetypeexpProdMakeTagType]]; BuildTagTypetypeexpProdNode: PUBLIC PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[TagTypeNode] = BEGIN data: TagTypetypeexpProdData _ NEW[TagTypetypeexpProdDataBody _ [ TypeExp]]; RETURN[NEW[TagTypeNodeBody_[position, length, TagTypetypeexpProdProcs, data]]]; END; -- VariantListoneProd VariantListoneProdProcs: PUBLIC VariantListNodeProcs _ NEW[VariantListNodeProcsBody _ [VariantListoneProdMakeUnionList, VariantListoneProdAddVariantsToUnionList, VariantListoneProdMakeStarTagType, VariantListoneProdAddVariantNamesToEnumTypeTGN]]; BuildVariantListoneProdNode: PUBLIC PROC[position: INT, length: INT, VariantItem: VariantItemNode] RETURNS[VariantListNode] = BEGIN data: VariantListoneProdData _ NEW[VariantListoneProdDataBody _ [ VariantItem]]; RETURN[NEW[VariantListNodeBody_[position, length, VariantListoneProdProcs, data]]]; END; -- VariantListmoreProd VariantListmoreProdProcs: PUBLIC VariantListNodeProcs _ NEW[VariantListNodeProcsBody _ [VariantListmoreProdMakeUnionList, VariantListmoreProdAddVariantsToUnionList, VariantListmoreProdMakeStarTagType, VariantListmoreProdAddVariantNamesToEnumTypeTGN]]; BuildVariantListmoreProdNode: PUBLIC PROC[position: INT, length: INT, VariantList: VariantListNode, VariantItem: VariantItemNode] RETURNS[VariantListNode] = BEGIN data: VariantListmoreProdData _ NEW[VariantListmoreProdDataBody _ [ VariantList, VariantItem]]; RETURN[NEW[VariantListNodeBody_[position, length, VariantListmoreProdProcs, data]]]; END; -- VariantItemProd VariantItemProdProcs: PUBLIC VariantItemNodeProcs _ NEW[VariantItemNodeProcsBody _ [VariantItemProdAddVariantsToUnionList, VariantItemProdAddVariantNamesToEnumTypeTGN]]; BuildVariantItemProdNode: PUBLIC PROC[position: INT, length: INT, IdList: IdListNode, RecList: RecListNode] RETURNS[VariantItemNode] = BEGIN data: VariantItemProdData _ NEW[VariantItemProdDataBody _ [ IdList, RecList]]; RETURN[NEW[VariantItemNodeBody_[position, length, VariantItemProdProcs, data]]]; END; -- PackedyesProd PackedyesProdProcs: PUBLIC PackedNodeProcs _ NEW[PackedNodeProcsBody _ [PackedyesProdGetBooleanVal]]; BuildPackedyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PackedNode] = BEGIN RETURN[NEW[PackedNodeBody_[position, length, PackedyesProdProcs, NIL]]]; END; -- PackednoProd PackednoProdProcs: PUBLIC PackedNodeProcs _ NEW[PackedNodeProcsBody _ [PackednoProdGetBooleanVal]]; BuildPackednoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PackedNode] = BEGIN RETURN[NEW[PackedNodeBody_[position, length, PackednoProdProcs, NIL]]]; END; END..