-- SaffronAG6bDef.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 7:24:49 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG6bDef: CEDAR DEFINITIONS = BEGIN OPEN SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; -- TypeIdidProd TypeIdidProdData: TYPE = REF TypeIdidProdDataBody; TypeIdidProdDataBody: TYPE = RECORD[ Id: IdNode]; TypeIdidProdProcs: TypeIdNodeProcs; BuildTypeIdidProdNode: PROC[position: INT, length: INT, Id: IdNode] RETURNS[TypeIdNode]; TypeIdidProdMakeType: MakeTypeProcType; TypeIdidProdLookupTypeId: LookupTypeIdProcType; TypeIdidProdAddSizeDependencies: AddSizeDependenciesProcType; TypeIdidProdAddFirstDependencies: AddFirstDependenciesProcType; TypeIdidProdAddLastDependencies: AddLastDependenciesProcType; TypeIdidProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; TypeIdidProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; TypeIdidProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; TypeIdidProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; TypeIdidProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; TypeIdidProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- TypeIdqualifierProd TypeIdqualifierProdData: TYPE = REF TypeIdqualifierProdDataBody; TypeIdqualifierProdDataBody: TYPE = RECORD[ TypeId: TypeIdNode, Id: IdNode]; TypeIdqualifierProdProcs: TypeIdNodeProcs; BuildTypeIdqualifierProdNode: PROC[position: INT, length: INT, TypeId: TypeIdNode, Id: IdNode] RETURNS[TypeIdNode]; TypeIdqualifierProdMakeType: MakeTypeProcType; TypeIdqualifierProdLookupTypeId: LookupTypeIdProcType; TypeIdqualifierProdAddSizeDependencies: AddSizeDependenciesProcType; TypeIdqualifierProdAddFirstDependencies: AddFirstDependenciesProcType; TypeIdqualifierProdAddLastDependencies: AddLastDependenciesProcType; TypeIdqualifierProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; TypeIdqualifierProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; TypeIdqualifierProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; TypeIdqualifierProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; TypeIdqualifierProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; TypeIdqualifierProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- SubrangenamedProd SubrangenamedProdData: TYPE = REF SubrangenamedProdDataBody; SubrangenamedProdDataBody: TYPE = RECORD[ TypeId: TypeIdNode, Interval: IntervalNode]; SubrangenamedProdProcs: SubrangeNodeProcs; BuildSubrangenamedProdNode: PROC[position: INT, length: INT, TypeId: TypeIdNode, Interval: IntervalNode] RETURNS[SubrangeNode]; SubrangenamedProdMakeType: MakeTypeProcType; SubrangenamedProdAddFirstDependencies: AddFirstDependenciesProcType; SubrangenamedProdAddLastDependencies: AddLastDependenciesProcType; SubrangenamedProdAddSizeDependencies: AddSizeDependenciesProcType; SubrangenamedProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; SubrangenamedProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; SubrangenamedProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; SubrangenamedProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; SubrangenamedProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; SubrangenamedProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- SubrangeunnamedProd SubrangeunnamedProdData: TYPE = REF SubrangeunnamedProdDataBody; SubrangeunnamedProdDataBody: TYPE = RECORD[ Interval: IntervalNode]; SubrangeunnamedProdProcs: SubrangeNodeProcs; BuildSubrangeunnamedProdNode: PROC[position: INT, length: INT, Interval: IntervalNode] RETURNS[SubrangeNode]; SubrangeunnamedProdMakeType: MakeTypeProcType; SubrangeunnamedProdAddFirstDependencies: AddFirstDependenciesProcType; SubrangeunnamedProdAddLastDependencies: AddLastDependenciesProcType; SubrangeunnamedProdAddSizeDependencies: AddSizeDependenciesProcType; SubrangeunnamedProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; SubrangeunnamedProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; SubrangeunnamedProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; SubrangeunnamedProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; SubrangeunnamedProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; SubrangeunnamedProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- IntervalccProd IntervalccProdData: TYPE = REF IntervalccProdDataBody; IntervalccProdDataBody: TYPE = RECORD[ Bounds: BoundsNode]; IntervalccProdProcs: IntervalNodeProcs; BuildIntervalccProdNode: PROC[position: INT, length: INT, Bounds: BoundsNode] RETURNS[IntervalNode]; IntervalccProdGetBoundsVal: GetBoundsValProcType; IntervalccProdAddFirstDependencies: AddFirstDependenciesProcType; IntervalccProdAddLastDependencies: AddLastDependenciesProcType; IntervalccProdAddSizeDependencies: AddSizeDependenciesProcType; IntervalccProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; IntervalccProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; IntervalccProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; IntervalccProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; IntervalccProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; IntervalccProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- IntervalcoProd IntervalcoProdData: TYPE = REF IntervalcoProdDataBody; IntervalcoProdDataBody: TYPE = RECORD[ Bounds: BoundsNode]; IntervalcoProdProcs: IntervalNodeProcs; BuildIntervalcoProdNode: PROC[position: INT, length: INT, Bounds: BoundsNode] RETURNS[IntervalNode]; IntervalcoProdGetBoundsVal: GetBoundsValProcType; IntervalcoProdAddFirstDependencies: AddFirstDependenciesProcType; IntervalcoProdAddLastDependencies: AddLastDependenciesProcType; IntervalcoProdAddSizeDependencies: AddSizeDependenciesProcType; IntervalcoProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; IntervalcoProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; IntervalcoProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; IntervalcoProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; IntervalcoProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; IntervalcoProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- IntervalocProd IntervalocProdData: TYPE = REF IntervalocProdDataBody; IntervalocProdDataBody: TYPE = RECORD[ Bounds: BoundsNode]; IntervalocProdProcs: IntervalNodeProcs; BuildIntervalocProdNode: PROC[position: INT, length: INT, Bounds: BoundsNode] RETURNS[IntervalNode]; IntervalocProdGetBoundsVal: GetBoundsValProcType; IntervalocProdAddFirstDependencies: AddFirstDependenciesProcType; IntervalocProdAddLastDependencies: AddLastDependenciesProcType; IntervalocProdAddSizeDependencies: AddSizeDependenciesProcType; IntervalocProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; IntervalocProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; IntervalocProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; IntervalocProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; IntervalocProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; IntervalocProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- IntervalooProd IntervalooProdData: TYPE = REF IntervalooProdDataBody; IntervalooProdDataBody: TYPE = RECORD[ Bounds: BoundsNode]; IntervalooProdProcs: IntervalNodeProcs; BuildIntervalooProdNode: PROC[position: INT, length: INT, Bounds: BoundsNode] RETURNS[IntervalNode]; IntervalooProdGetBoundsVal: GetBoundsValProcType; IntervalooProdAddFirstDependencies: AddFirstDependenciesProcType; IntervalooProdAddLastDependencies: AddLastDependenciesProcType; IntervalooProdAddSizeDependencies: AddSizeDependenciesProcType; IntervalooProdCompileSizeOfTypeExpression: CompileSizeOfTypeExpressionProcType; IntervalooProdCompileFirstOfTypeExpression: CompileFirstOfTypeExpressionProcType; IntervalooProdCompileLastOfTypeExpression: CompileLastOfTypeExpressionProcType; IntervalooProdEvaluateSizeOfTypeExpression: EvaluateSizeOfTypeExpressionProcType; IntervalooProdEvaluateFirstOfTypeExpression: EvaluateFirstOfTypeExpressionProcType; IntervalooProdEvaluateLastOfTypeExpression: EvaluateLastOfTypeExpressionProcType; -- BoundsProd BoundsProdData: TYPE = REF BoundsProdDataBody; BoundsProdDataBody: TYPE = RECORD[ Explower: ExpNode, Expupper: ExpNode]; BoundsProdProcs: BoundsNodeProcs; BuildBoundsProdNode: PROC[position: INT, length: INT, Explower: ExpNode, Expupper: ExpNode] RETURNS[BoundsNode]; BoundsProdGetLowerAndUpper: GetLowerAndUpperProcType; BoundsProdAddFirstDependencies: AddFirstDependenciesProcType; BoundsProdAddLastDependencies: AddLastDependenciesProcType; BoundsProdAddSizeDependencies: AddSizeDependenciesProcType; END..