-- SaffronAG7bImpl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 7:24:57 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG7bDef, SaffronATDef; SaffronAG7bImpl: CEDAR PROGRAM IMPORTS SaffronAG7bDef EXPORTS SaffronAG7bDef= BEGIN OPEN SaffronAG7bDef, SaffronATDef; -- IdentListoneProd IdentListoneProdProcs: PUBLIC IdentListNodeProcs _ NEW[IdentListNodeProcsBody _ [IdentListoneProdAddNamesToFieldList, IdentListoneProdMakeNameSequence, IdentListoneProdAddNamesToSequence, IdentListoneProdAddValueDeclarationToFieldList, IdentListoneProdAddTypeDeclarationToFieldList, IdentListoneProdMakeCodeToStoreTOSInVariousLocalFrameSlots]]; 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, IdentListmanyProdMakeNameSequence, IdentListmanyProdAddNamesToSequence, IdentListmanyProdAddValueDeclarationToFieldList, IdentListmanyProdAddTypeDeclarationToFieldList, IdentListmanyProdMakeCodeToStoreTOSInVariousLocalFrameSlots]]; 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, TagidentProdAddSizeDependencies]]; 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, TagcomputedProdAddSizeDependencies]]; 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, TagoverlaidProdAddSizeDependencies]]; 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, TagTypestarProdAddSizeDependencies]]; 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, TagTypetypeexpProdAddSizeDependencies]]; 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, VariantListoneProdAddSizeDependencies]]; 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, VariantListmoreProdAddSizeDependencies]]; 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, VariantItemProdAddSizeDependencies]]; 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 _ [PackedyesProdIsKeywordPresent]]; BuildPackedyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PackedNode] = BEGIN RETURN[NEW[PackedNodeBody_[position, length, PackedyesProdProcs, NIL]]]; END; -- PackednoProd PackednoProdProcs: PUBLIC PackedNodeProcs _ NEW[PackedNodeProcsBody _ [PackednoProdIsKeywordPresent]]; BuildPackednoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[PackedNode] = BEGIN RETURN[NEW[PackedNodeBody_[position, length, PackednoProdProcs, NIL]]]; END; END..