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