-- SaffronAG6cImpl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 7:24:51 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG6cDef, SaffronGenericDef, SaffronATDef; SaffronAG6cImpl: CEDAR PROGRAM IMPORTS SaffronAG6cDef EXPORTS SaffronAG6cDef= BEGIN OPEN SaffronAG6cDef, SaffronGenericDef, SaffronATDef; -- MachineDependentyesProd MachineDependentyesProdProcs: PUBLIC MachineDependentNodeProcs _ NEW[MachineDependentNodeProcsBody _ [MachineDependentyesProdIsKeywordPresent]]; BuildMachineDependentyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[MachineDependentNode] = BEGIN RETURN[NEW[MachineDependentNodeBody_[position, length, MachineDependentyesProdProcs, NIL]]]; END; -- MachineDependentnoProd MachineDependentnoProdProcs: PUBLIC MachineDependentNodeProcs _ NEW[MachineDependentNodeProcsBody _ [MachineDependentnoProdIsKeywordPresent]]; BuildMachineDependentnoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[MachineDependentNode] = BEGIN RETURN[NEW[MachineDependentNodeBody_[position, length, MachineDependentnoProdProcs, NIL]]]; END; -- MonitoredyesProd MonitoredyesProdProcs: PUBLIC MonitoredNodeProcs _ NEW[MonitoredNodeProcsBody _ [MonitoredyesProdIsKeywordPresent]]; BuildMonitoredyesProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[MonitoredNode] = BEGIN RETURN[NEW[MonitoredNodeBody_[position, length, MonitoredyesProdProcs, NIL]]]; END; -- MonitorednoProd MonitorednoProdProcs: PUBLIC MonitoredNodeProcs _ NEW[MonitoredNodeProcsBody _ [MonitorednoProdIsKeywordPresent]]; BuildMonitorednoProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[MonitoredNode] = BEGIN RETURN[NEW[MonitoredNodeBody_[position, length, MonitorednoProdProcs, NIL]]]; END; -- ElementListemptyProd ElementListemptyProdProcs: PUBLIC ElementListNodeProcs _ NEW[ElementListNodeProcsBody _ [ElementListemptyProdMakeElementList, ElementListemptyProdAddSizeDependencies, ElementListemptyProdAddFirstDependencies, ElementListemptyProdAddLastDependencies]]; BuildElementListemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ElementListNode] = BEGIN RETURN[NEW[ElementListNodeBody_[position, length, ElementListemptyProdProcs, NIL]]]; END; -- ElementListmoreProd ElementListmoreProdProcs: PUBLIC ElementListNodeProcs _ NEW[ElementListNodeProcsBody _ [ElementListmoreProdMakeElementList, ElementListmoreProdAddSizeDependencies, ElementListmoreProdAddFirstDependencies, ElementListmoreProdAddLastDependencies]]; BuildElementListmoreProdNode: PUBLIC PROC[position: INT, length: INT, ElementList: ElementListNode, Element: ElementNode] RETURNS[ElementListNode] = BEGIN data: ElementListmoreProdData _ NEW[ElementListmoreProdDataBody _ [ ElementList, Element]]; RETURN[NEW[ElementListNodeBody_[position, length, ElementListmoreProdProcs, data]]]; END; -- ElementidProd ElementidProdProcs: PUBLIC ElementNodeProcs _ NEW[ElementNodeProcsBody _ [ElementidProdElementInfo, ElementidProdAddSizeDependencies, ElementidProdAddFirstDependencies, ElementidProdAddLastDependencies]]; BuildElementidProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode] RETURNS[ElementNode] = BEGIN data: ElementidProdData _ NEW[ElementidProdDataBody _ [ Id]]; RETURN[NEW[ElementNodeBody_[position, length, ElementidProdProcs, data]]]; END; -- ElementidwithrepProd ElementidwithrepProdProcs: PUBLIC ElementNodeProcs _ NEW[ElementNodeProcsBody _ [ElementidwithrepProdElementInfo, ElementidwithrepProdAddSizeDependencies, ElementidwithrepProdAddFirstDependencies, ElementidwithrepProdAddLastDependencies]]; BuildElementidwithrepProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode, Exp: ExpNode] RETURNS[ElementNode] = BEGIN data: ElementidwithrepProdData _ NEW[ElementidwithrepProdDataBody _ [ Id, Exp]]; RETURN[NEW[ElementNodeBody_[position, length, ElementidwithrepProdProcs, data]]]; END; -- ElementanonymousrepProd ElementanonymousrepProdProcs: PUBLIC ElementNodeProcs _ NEW[ElementNodeProcsBody _ [ElementanonymousrepProdElementInfo, ElementanonymousrepProdAddSizeDependencies, ElementanonymousrepProdAddFirstDependencies, ElementanonymousrepProdAddLastDependencies]]; BuildElementanonymousrepProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode] RETURNS[ElementNode] = BEGIN data: ElementanonymousrepProdData _ NEW[ElementanonymousrepProdDataBody _ [ Exp]]; RETURN[NEW[ElementNodeBody_[position, length, ElementanonymousrepProdProcs, data]]]; END; -- RecListemptyProd RecListemptyProdProcs: PUBLIC RecListNodeProcs _ NEW[RecListNodeProcsBody _ [RecListemptyProdMakeFieldList, RecListemptyProdAddSizeDependencies]]; BuildRecListemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[RecListNode] = BEGIN RETURN[NEW[RecListNodeBody_[position, length, RecListemptyProdProcs, NIL]]]; END; -- RecListpairlistProd RecListpairlistProdProcs: PUBLIC RecListNodeProcs _ NEW[RecListNodeProcsBody _ [RecListpairlistProdMakeFieldList, RecListpairlistProdAddSizeDependencies]]; BuildRecListpairlistProdNode: PUBLIC PROC[position: INT, length: INT, PairList: PairListNode] RETURNS[RecListNode] = BEGIN data: RecListpairlistProdData _ NEW[RecListpairlistProdDataBody _ [ PairList]]; RETURN[NEW[RecListNodeBody_[position, length, RecListpairlistProdProcs, data]]]; END; -- RecListtypelistProd RecListtypelistProdProcs: PUBLIC RecListNodeProcs _ NEW[RecListNodeProcsBody _ [RecListtypelistProdMakeFieldList, RecListtypelistProdAddSizeDependencies]]; BuildRecListtypelistProdNode: PUBLIC PROC[position: INT, length: INT, TypeList: TypeListNode] RETURNS[RecListNode] = BEGIN data: RecListtypelistProdData _ NEW[RecListtypelistProdDataBody _ [ TypeList]]; RETURN[NEW[RecListNodeBody_[position, length, RecListtypelistProdProcs, data]]]; END; -- PairListoneProd PairListoneProdProcs: PUBLIC PairListNodeProcs _ NEW[PairListNodeProcsBody _ [PairListoneProdAddPairsToFieldList, PairListoneProdAddSizeDependencies]]; BuildPairListoneProdNode: PUBLIC PROC[position: INT, length: INT, PairItem: PairItemNode] RETURNS[PairListNode] = BEGIN data: PairListoneProdData _ NEW[PairListoneProdDataBody _ [ PairItem]]; RETURN[NEW[PairListNodeBody_[position, length, PairListoneProdProcs, data]]]; END; -- PairListmanyProd PairListmanyProdProcs: PUBLIC PairListNodeProcs _ NEW[PairListNodeProcsBody _ [PairListmanyProdAddPairsToFieldList, PairListmanyProdAddSizeDependencies]]; BuildPairListmanyProdNode: PUBLIC PROC[position: INT, length: INT, PairListhead: PairListNode, PairListtail: PairListNode] RETURNS[PairListNode] = BEGIN data: PairListmanyProdData _ NEW[PairListmanyProdDataBody _ [ PairListhead, PairListtail]]; RETURN[NEW[PairListNodeBody_[position, length, PairListmanyProdProcs, data]]]; END; -- PairItemProd PairItemProdProcs: PUBLIC PairItemNodeProcs _ NEW[PairItemNodeProcsBody _ [PairItemProdAddPairsToFieldList, PairItemProdAddSizeDependencies]]; BuildPairItemProdNode: PUBLIC PROC[position: INT, length: INT, IdentList: IdentListNode, Access: AccessNode, TypeExp: TypeExpNode, Default: DefaultNode] RETURNS[PairItemNode] = BEGIN data: PairItemProdData _ NEW[PairItemProdDataBody _ [ IdentList, Access, TypeExp, Default]]; RETURN[NEW[PairItemNodeBody_[position, length, PairItemProdProcs, data]]]; END; -- TypeListoneProd TypeListoneProdProcs: PUBLIC TypeListNodeProcs _ NEW[TypeListNodeProcsBody _ [TypeListoneProdAddToFieldList, TypeListoneProdAddSizeDependencies]]; BuildTypeListoneProdNode: PUBLIC PROC[position: INT, length: INT, TypeItem: TypeItemNode] RETURNS[TypeListNode] = BEGIN data: TypeListoneProdData _ NEW[TypeListoneProdDataBody _ [ TypeItem]]; RETURN[NEW[TypeListNodeBody_[position, length, TypeListoneProdProcs, data]]]; END; -- TypeListmanyProd TypeListmanyProdProcs: PUBLIC TypeListNodeProcs _ NEW[TypeListNodeProcsBody _ [TypeListmanyProdAddToFieldList, TypeListmanyProdAddSizeDependencies]]; BuildTypeListmanyProdNode: PUBLIC PROC[position: INT, length: INT, TypeListhead: TypeListNode, TypeListtail: TypeListNode] RETURNS[TypeListNode] = BEGIN data: TypeListmanyProdData _ NEW[TypeListmanyProdDataBody _ [ TypeListhead, TypeListtail]]; RETURN[NEW[TypeListNodeBody_[position, length, TypeListmanyProdProcs, data]]]; END; -- TypeItemProd TypeItemProdProcs: PUBLIC TypeItemNodeProcs _ NEW[TypeItemNodeProcsBody _ [TypeItemProdAddToFieldList, TypeItemProdAddSizeDependencies]]; BuildTypeItemProdNode: PUBLIC PROC[position: INT, length: INT, TypeExp: TypeExpNode, Default: DefaultNode] RETURNS[TypeItemNode] = BEGIN data: TypeItemProdData _ NEW[TypeItemProdDataBody _ [ TypeExp, Default]]; RETURN[NEW[TypeItemNodeBody_[position, length, TypeItemProdProcs, data]]]; END; END..