-- SaffronAG6aImpl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 2:45:43 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG6aDef, SaffronGenericDef, SaffronATDef; SaffronAG6aImpl: CEDAR PROGRAM IMPORTS SaffronAG6aDef EXPORTS SaffronAG6aDef= BEGIN OPEN SaffronAG6aDef, SaffronGenericDef, SaffronATDef; -- TypeExptypeidProd TypeExptypeidProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExptypeidProdMakeType, TypeExptypeidProdAddSizeDependencies, TypeExptypeidProdAddFirstDependencies, TypeExptypeidProdAddLastDependencies, TypeExptypeidProdCompileSizeOfTypeExpression, TypeExptypeidProdCompileFirstOfTypeExpression, TypeExptypeidProdCompileLastOfTypeExpression, TypeExptypeidProdEvaluateSizeOfTypeExpression, TypeExptypeidProdEvaluateFirstOfTypeExpression, TypeExptypeidProdEvaluateLastOfTypeExpression]]; BuildTypeExptypeidProdNode: PUBLIC PROC[position: INT, length: INT, TypeId: TypeIdNode] RETURNS[TypeExpNode] = BEGIN data: TypeExptypeidProdData _ NEW[TypeExptypeidProdDataBody _ [ TypeId]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExptypeidProdProcs, data]]]; END; -- TypeExpsubrangeProd TypeExpsubrangeProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpsubrangeProdMakeType, TypeExpsubrangeProdAddSizeDependencies, TypeExpsubrangeProdAddFirstDependencies, TypeExpsubrangeProdAddLastDependencies, TypeExpsubrangeProdCompileSizeOfTypeExpression, TypeExpsubrangeProdCompileFirstOfTypeExpression, TypeExpsubrangeProdCompileLastOfTypeExpression, TypeExpsubrangeProdEvaluateSizeOfTypeExpression, TypeExpsubrangeProdEvaluateFirstOfTypeExpression, TypeExpsubrangeProdEvaluateLastOfTypeExpression]]; BuildTypeExpsubrangeProdNode: PUBLIC PROC[position: INT, length: INT, Subrange: SubrangeNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpsubrangeProdData _ NEW[TypeExpsubrangeProdDataBody _ [ Subrange]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpsubrangeProdProcs, data]]]; END; -- TypeExpenumProd TypeExpenumProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpenumProdMakeType, TypeExpenumProdAddSizeDependencies, TypeExpenumProdAddFirstDependencies, TypeExpenumProdAddLastDependencies, TypeExpenumProdCompileSizeOfTypeExpression, TypeExpenumProdCompileFirstOfTypeExpression, TypeExpenumProdCompileLastOfTypeExpression, TypeExpenumProdEvaluateSizeOfTypeExpression, TypeExpenumProdEvaluateFirstOfTypeExpression, TypeExpenumProdEvaluateLastOfTypeExpression]]; BuildTypeExpenumProdNode: PUBLIC PROC[position: INT, length: INT, MachineDependent: MachineDependentNode, ElementList: ElementListNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpenumProdData _ NEW[TypeExpenumProdDataBody _ [ MachineDependent, ElementList]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpenumProdProcs, data]]]; END; -- TypeExprecordProd TypeExprecordProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExprecordProdMakeType, TypeExprecordProdAddSizeDependencies, TypeExprecordProdAddFirstDependencies, TypeExprecordProdAddLastDependencies, TypeExprecordProdCompileSizeOfTypeExpression, TypeExprecordProdCompileFirstOfTypeExpression, TypeExprecordProdCompileLastOfTypeExpression, TypeExprecordProdEvaluateSizeOfTypeExpression, TypeExprecordProdEvaluateFirstOfTypeExpression, TypeExprecordProdEvaluateLastOfTypeExpression]]; BuildTypeExprecordProdNode: PUBLIC PROC[position: INT, length: INT, MachineDependent: MachineDependentNode, Monitored: MonitoredNode, RecList: RecListNode] RETURNS[TypeExpNode] = BEGIN data: TypeExprecordProdData _ NEW[TypeExprecordProdDataBody _ [ MachineDependent, Monitored, RecList]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExprecordProdProcs, data]]]; END; -- TypeExppointerProd TypeExppointerProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExppointerProdMakeType, TypeExppointerProdAddSizeDependencies, TypeExppointerProdAddFirstDependencies, TypeExppointerProdAddLastDependencies, TypeExppointerProdCompileSizeOfTypeExpression, TypeExppointerProdCompileFirstOfTypeExpression, TypeExppointerProdCompileLastOfTypeExpression, TypeExppointerProdEvaluateSizeOfTypeExpression, TypeExppointerProdEvaluateFirstOfTypeExpression, TypeExppointerProdEvaluateLastOfTypeExpression]]; BuildTypeExppointerProdNode: PUBLIC PROC[position: INT, length: INT, Ordered: OrderedNode, Base: BaseNode, PointerType: PointerTypeNode] RETURNS[TypeExpNode] = BEGIN data: TypeExppointerProdData _ NEW[TypeExppointerProdDataBody _ [ Ordered, Base, PointerType]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExppointerProdProcs, data]]]; END; -- TypeExpvarProd TypeExpvarProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpvarProdMakeType, TypeExpvarProdAddSizeDependencies, TypeExpvarProdAddFirstDependencies, TypeExpvarProdAddLastDependencies, TypeExpvarProdCompileSizeOfTypeExpression, TypeExpvarProdCompileFirstOfTypeExpression, TypeExpvarProdCompileLastOfTypeExpression, TypeExpvarProdEvaluateSizeOfTypeExpression, TypeExpvarProdEvaluateFirstOfTypeExpression, TypeExpvarProdEvaluateLastOfTypeExpression]]; BuildTypeExpvarProdNode: PUBLIC PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpvarProdData _ NEW[TypeExpvarProdDataBody _ [ TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpvarProdProcs, data]]]; END; -- TypeExprefProd TypeExprefProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExprefProdMakeType, TypeExprefProdAddSizeDependencies, TypeExprefProdAddFirstDependencies, TypeExprefProdAddLastDependencies, TypeExprefProdCompileSizeOfTypeExpression, TypeExprefProdCompileFirstOfTypeExpression, TypeExprefProdCompileLastOfTypeExpression, TypeExprefProdEvaluateSizeOfTypeExpression, TypeExprefProdEvaluateFirstOfTypeExpression, TypeExprefProdEvaluateLastOfTypeExpression]]; BuildTypeExprefProdNode: PUBLIC PROC[position: INT, length: INT, ReadOnly: ReadOnlyNode, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExprefProdData _ NEW[TypeExprefProdDataBody _ [ ReadOnly, TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExprefProdProcs, data]]]; END; -- TypeExprefanyProd TypeExprefanyProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExprefanyProdMakeType, TypeExprefanyProdAddSizeDependencies, TypeExprefanyProdAddFirstDependencies, TypeExprefanyProdAddLastDependencies, TypeExprefanyProdCompileSizeOfTypeExpression, TypeExprefanyProdCompileFirstOfTypeExpression, TypeExprefanyProdCompileLastOfTypeExpression, TypeExprefanyProdEvaluateSizeOfTypeExpression, TypeExprefanyProdEvaluateFirstOfTypeExpression, TypeExprefanyProdEvaluateLastOfTypeExpression]]; BuildTypeExprefanyProdNode: PUBLIC PROC[position: INT, length: INT, ReadOnly: ReadOnlyNode] RETURNS[TypeExpNode] = BEGIN data: TypeExprefanyProdData _ NEW[TypeExprefanyProdDataBody _ [ ReadOnly]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExprefanyProdProcs, data]]]; END; -- TypeExprefunspecifiedProd TypeExprefunspecifiedProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExprefunspecifiedProdMakeType, TypeExprefunspecifiedProdAddSizeDependencies, TypeExprefunspecifiedProdAddFirstDependencies, TypeExprefunspecifiedProdAddLastDependencies, TypeExprefunspecifiedProdCompileSizeOfTypeExpression, TypeExprefunspecifiedProdCompileFirstOfTypeExpression, TypeExprefunspecifiedProdCompileLastOfTypeExpression, TypeExprefunspecifiedProdEvaluateSizeOfTypeExpression, TypeExprefunspecifiedProdEvaluateFirstOfTypeExpression, TypeExprefunspecifiedProdEvaluateLastOfTypeExpression]]; BuildTypeExprefunspecifiedProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[TypeExpNode] = BEGIN RETURN[NEW[TypeExpNodeBody_[position, length, TypeExprefunspecifiedProdProcs, NIL]]]; END; -- TypeExplistProd TypeExplistProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExplistProdMakeType, TypeExplistProdAddSizeDependencies, TypeExplistProdAddFirstDependencies, TypeExplistProdAddLastDependencies, TypeExplistProdCompileSizeOfTypeExpression, TypeExplistProdCompileFirstOfTypeExpression, TypeExplistProdCompileLastOfTypeExpression, TypeExplistProdEvaluateSizeOfTypeExpression, TypeExplistProdEvaluateFirstOfTypeExpression, TypeExplistProdEvaluateLastOfTypeExpression]]; BuildTypeExplistProdNode: PUBLIC PROC[position: INT, length: INT, ReadOnly: ReadOnlyNode, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExplistProdData _ NEW[TypeExplistProdDataBody _ [ ReadOnly, TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExplistProdProcs, data]]]; END; -- TypeExparrayProd TypeExparrayProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExparrayProdMakeType, TypeExparrayProdAddSizeDependencies, TypeExparrayProdAddFirstDependencies, TypeExparrayProdAddLastDependencies, TypeExparrayProdCompileSizeOfTypeExpression, TypeExparrayProdCompileFirstOfTypeExpression, TypeExparrayProdCompileLastOfTypeExpression, TypeExparrayProdEvaluateSizeOfTypeExpression, TypeExparrayProdEvaluateFirstOfTypeExpression, TypeExparrayProdEvaluateLastOfTypeExpression]]; BuildTypeExparrayProdNode: PUBLIC PROC[position: INT, length: INT, Packed: PackedNode, OptType: OptTypeNode, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExparrayProdData _ NEW[TypeExparrayProdDataBody _ [ Packed, OptType, TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExparrayProdProcs, data]]]; END; -- TypeExpdescriptorProd TypeExpdescriptorProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpdescriptorProdMakeType, TypeExpdescriptorProdAddSizeDependencies, TypeExpdescriptorProdAddFirstDependencies, TypeExpdescriptorProdAddLastDependencies, TypeExpdescriptorProdCompileSizeOfTypeExpression, TypeExpdescriptorProdCompileFirstOfTypeExpression, TypeExpdescriptorProdCompileLastOfTypeExpression, TypeExpdescriptorProdEvaluateSizeOfTypeExpression, TypeExpdescriptorProdEvaluateFirstOfTypeExpression, TypeExpdescriptorProdEvaluateLastOfTypeExpression]]; BuildTypeExpdescriptorProdNode: PUBLIC PROC[position: INT, length: INT, ReadOnly: ReadOnlyNode, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpdescriptorProdData _ NEW[TypeExpdescriptorProdDataBody _ [ ReadOnly, TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpdescriptorProdProcs, data]]]; END; -- TypeExptransferProd TypeExptransferProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExptransferProdMakeType, TypeExptransferProdAddSizeDependencies, TypeExptransferProdAddFirstDependencies, TypeExptransferProdAddLastDependencies, TypeExptransferProdCompileSizeOfTypeExpression, TypeExptransferProdCompileFirstOfTypeExpression, TypeExptransferProdCompileLastOfTypeExpression, TypeExptransferProdEvaluateSizeOfTypeExpression, TypeExptransferProdEvaluateFirstOfTypeExpression, TypeExptransferProdEvaluateLastOfTypeExpression]]; BuildTypeExptransferProdNode: PUBLIC PROC[position: INT, length: INT, Safe: SafeNode, TransferMode: TransferModeNode, Arguments: ArgumentsNode] RETURNS[TypeExpNode] = BEGIN data: TypeExptransferProdData _ NEW[TypeExptransferProdDataBody _ [ Safe, TransferMode, Arguments]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExptransferProdProcs, data]]]; END; -- TypeExprelativeProd TypeExprelativeProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExprelativeProdMakeType, TypeExprelativeProdAddSizeDependencies, TypeExprelativeProdAddFirstDependencies, TypeExprelativeProdAddLastDependencies, TypeExprelativeProdCompileSizeOfTypeExpression, TypeExprelativeProdCompileFirstOfTypeExpression, TypeExprelativeProdCompileLastOfTypeExpression, TypeExprelativeProdEvaluateSizeOfTypeExpression, TypeExprelativeProdEvaluateFirstOfTypeExpression, TypeExprelativeProdEvaluateLastOfTypeExpression]]; BuildTypeExprelativeProdNode: PUBLIC PROC[position: INT, length: INT, TypeId: TypeIdNode, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExprelativeProdData _ NEW[TypeExprelativeProdDataBody _ [ TypeId, TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExprelativeProdProcs, data]]]; END; -- TypeExpzoneProd TypeExpzoneProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpzoneProdMakeType, TypeExpzoneProdAddSizeDependencies, TypeExpzoneProdAddFirstDependencies, TypeExpzoneProdAddLastDependencies, TypeExpzoneProdCompileSizeOfTypeExpression, TypeExpzoneProdCompileFirstOfTypeExpression, TypeExpzoneProdCompileLastOfTypeExpression, TypeExpzoneProdEvaluateSizeOfTypeExpression, TypeExpzoneProdEvaluateFirstOfTypeExpression, TypeExpzoneProdEvaluateLastOfTypeExpression]]; BuildTypeExpzoneProdNode: PUBLIC PROC[position: INT, length: INT, Uncounted: UncountedNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpzoneProdData _ NEW[TypeExpzoneProdDataBody _ [ Uncounted]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpzoneProdProcs, data]]]; END; -- TypeExplongProd TypeExplongProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExplongProdMakeType, TypeExplongProdAddSizeDependencies, TypeExplongProdAddFirstDependencies, TypeExplongProdAddLastDependencies, TypeExplongProdCompileSizeOfTypeExpression, TypeExplongProdCompileFirstOfTypeExpression, TypeExplongProdCompileLastOfTypeExpression, TypeExplongProdEvaluateSizeOfTypeExpression, TypeExplongProdEvaluateFirstOfTypeExpression, TypeExplongProdEvaluateLastOfTypeExpression]]; BuildTypeExplongProdNode: PUBLIC PROC[position: INT, length: INT, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExplongProdData _ NEW[TypeExplongProdDataBody _ [ TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExplongProdProcs, data]]]; END; -- TypeExpframeProd TypeExpframeProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpframeProdMakeType, TypeExpframeProdAddSizeDependencies, TypeExpframeProdAddFirstDependencies, TypeExpframeProdAddLastDependencies, TypeExpframeProdCompileSizeOfTypeExpression, TypeExpframeProdCompileFirstOfTypeExpression, TypeExpframeProdCompileLastOfTypeExpression, TypeExpframeProdEvaluateSizeOfTypeExpression, TypeExpframeProdEvaluateFirstOfTypeExpression, TypeExpframeProdEvaluateLastOfTypeExpression]]; BuildTypeExpframeProdNode: PUBLIC PROC[position: INT, length: INT, Id: IdNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpframeProdData _ NEW[TypeExpframeProdDataBody _ [ Id]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpframeProdProcs, data]]]; END; -- TypeExppaintedProd TypeExppaintedProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExppaintedProdMakeType, TypeExppaintedProdAddSizeDependencies, TypeExppaintedProdAddFirstDependencies, TypeExppaintedProdAddLastDependencies, TypeExppaintedProdCompileSizeOfTypeExpression, TypeExppaintedProdCompileFirstOfTypeExpression, TypeExppaintedProdCompileLastOfTypeExpression, TypeExppaintedProdEvaluateSizeOfTypeExpression, TypeExppaintedProdEvaluateFirstOfTypeExpression, TypeExppaintedProdEvaluateLastOfTypeExpression]]; BuildTypeExppaintedProdNode: PUBLIC PROC[position: INT, length: INT, TypeId: TypeIdNode, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExppaintedProdData _ NEW[TypeExppaintedProdDataBody _ [ TypeId, TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExppaintedProdProcs, data]]]; END; -- TypeExptypeapplyProd TypeExptypeapplyProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExptypeapplyProdMakeType, TypeExptypeapplyProdAddSizeDependencies, TypeExptypeapplyProdAddFirstDependencies, TypeExptypeapplyProdAddLastDependencies, TypeExptypeapplyProdCompileSizeOfTypeExpression, TypeExptypeapplyProdCompileFirstOfTypeExpression, TypeExptypeapplyProdCompileLastOfTypeExpression, TypeExptypeapplyProdEvaluateSizeOfTypeExpression, TypeExptypeapplyProdEvaluateFirstOfTypeExpression, TypeExptypeapplyProdEvaluateLastOfTypeExpression]]; BuildTypeExptypeapplyProdNode: PUBLIC PROC[position: INT, length: INT, TypeApply: TypeApplyNode] RETURNS[TypeExpNode] = BEGIN data: TypeExptypeapplyProdData _ NEW[TypeExptypeapplyProdDataBody _ [ TypeApply]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExptypeapplyProdProcs, data]]]; END; -- TypeExpunionProd TypeExpunionProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpunionProdMakeType, TypeExpunionProdAddSizeDependencies, TypeExpunionProdAddFirstDependencies, TypeExpunionProdAddLastDependencies, TypeExpunionProdCompileSizeOfTypeExpression, TypeExpunionProdCompileFirstOfTypeExpression, TypeExpunionProdCompileLastOfTypeExpression, TypeExpunionProdEvaluateSizeOfTypeExpression, TypeExpunionProdEvaluateFirstOfTypeExpression, TypeExpunionProdEvaluateLastOfTypeExpression]]; BuildTypeExpunionProdNode: PUBLIC PROC[position: INT, length: INT, Tag: TagNode, VariantList: VariantListNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpunionProdData _ NEW[TypeExpunionProdDataBody _ [ Tag, VariantList]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpunionProdProcs, data]]]; END; -- TypeExpsequenceProd TypeExpsequenceProdProcs: PUBLIC TypeExpNodeProcs _ NEW[TypeExpNodeProcsBody _ [TypeExpsequenceProdMakeType, TypeExpsequenceProdAddSizeDependencies, TypeExpsequenceProdAddFirstDependencies, TypeExpsequenceProdAddLastDependencies, TypeExpsequenceProdCompileSizeOfTypeExpression, TypeExpsequenceProdCompileFirstOfTypeExpression, TypeExpsequenceProdCompileLastOfTypeExpression, TypeExpsequenceProdEvaluateSizeOfTypeExpression, TypeExpsequenceProdEvaluateFirstOfTypeExpression, TypeExpsequenceProdEvaluateLastOfTypeExpression]]; BuildTypeExpsequenceProdNode: PUBLIC PROC[position: INT, length: INT, Packed: PackedNode, Tag: TagNode, TypeExp: TypeExpNode] RETURNS[TypeExpNode] = BEGIN data: TypeExpsequenceProdData _ NEW[TypeExpsequenceProdDataBody _ [ Packed, Tag, TypeExp]]; RETURN[NEW[TypeExpNodeBody_[position, length, TypeExpsequenceProdProcs, data]]]; END; END..