-- SiroccoAGDef.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by BJackson.pa at July 16, 1987 3:11:34 am PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SiroccoCGDef, SiroccoATDef; SiroccoAGDef: CEDAR DEFINITIONS = BEGIN OPEN SiroccoCGDef, SiroccoATDef; -- ProgramexportProd ProgramexportProdData: TYPE = REF ProgramexportProdDataBody; ProgramexportProdDataBody: TYPE = RECORD[ idexport: idNode, decimalpgm: decimalNode, decimalversion: decimalNode, ImportList: ImportListNode, DeclarationList: DeclarationListNode]; ProgramexportProdProcs: ProgramNodeProcs; BuildProgramexportProdNode: PROC[position: INT, length: INT, idexport: idNode, decimalpgm: decimalNode, decimalversion: decimalNode, ImportList: ImportListNode, DeclarationList: DeclarationListNode] RETURNS[ProgramNode]; ProgramexportProdMakeSymbolTable: MakeSymbolTableProcType; -- ImportListemptyProd ImportListemptyProdData: TYPE = REF ImportListemptyProdDataBody; ImportListemptyProdDataBody: TYPE = RECORD[ ]; ImportListemptyProdProcs: ImportListNodeProcs; BuildImportListemptyProdNode: PROC[position: INT, length: INT] RETURNS[ImportListNode]; ImportListemptyProdBuildRIB: BuildRIBProcType; -- ImportListmoreProd ImportListmoreProdData: TYPE = REF ImportListmoreProdDataBody; ImportListmoreProdDataBody: TYPE = RECORD[ ImportList: ImportListNode, Import: ImportNode]; ImportListmoreProdProcs: ImportListNodeProcs; BuildImportListmoreProdNode: PROC[position: INT, length: INT, ImportList: ImportListNode, Import: ImportNode] RETURNS[ImportListNode]; ImportListmoreProdBuildRIB: BuildRIBProcType; -- ImportinterfaceProd ImportinterfaceProdData: TYPE = REF ImportinterfaceProdDataBody; ImportinterfaceProdDataBody: TYPE = RECORD[ idinterface: idNode, decimalpgm: decimalNode, decimalversion: decimalNode]; ImportinterfaceProdProcs: ImportNodeProcs; BuildImportinterfaceProdNode: PROC[position: INT, length: INT, idinterface: idNode, decimalpgm: decimalNode, decimalversion: decimalNode] RETURNS[ImportNode]; ImportinterfaceProdBuildScope: BuildScopeProcType; -- DeclarationListemptyProd DeclarationListemptyProdData: TYPE = REF DeclarationListemptyProdDataBody; DeclarationListemptyProdDataBody: TYPE = RECORD[ ]; DeclarationListemptyProdProcs: DeclarationListNodeProcs; BuildDeclarationListemptyProdNode: PROC[position: INT, length: INT] RETURNS[DeclarationListNode]; DeclarationListemptyProdBuildItemTable: BuildItemTableProcType; DeclarationListemptyProdBuildTypeGraph: BuildTypeGraphProcType; -- DeclarationListmoreProd DeclarationListmoreProdData: TYPE = REF DeclarationListmoreProdDataBody; DeclarationListmoreProdDataBody: TYPE = RECORD[ DeclarationList: DeclarationListNode, Declaration: DeclarationNode]; DeclarationListmoreProdProcs: DeclarationListNodeProcs; BuildDeclarationListmoreProdNode: PROC[position: INT, length: INT, DeclarationList: DeclarationListNode, Declaration: DeclarationNode] RETURNS[DeclarationListNode]; DeclarationListmoreProdBuildItemTable: BuildItemTableProcType; DeclarationListmoreProdBuildTypeGraph: BuildTypeGraphProcType; -- DeclarationtypeProd DeclarationtypeProdData: TYPE = REF DeclarationtypeProdDataBody; DeclarationtypeProdDataBody: TYPE = RECORD[ id: idNode, Type: TypeNode]; DeclarationtypeProdProcs: DeclarationNodeProcs; BuildDeclarationtypeProdNode: PROC[position: INT, length: INT, id: idNode, Type: TypeNode] RETURNS[DeclarationNode]; DeclarationtypeProdBuildItem: BuildItemProcType; DeclarationtypeProdBuildTypeGraph: BuildTypeGraphProcType; -- DeclarationconstantProd DeclarationconstantProdData: TYPE = REF DeclarationconstantProdDataBody; DeclarationconstantProdDataBody: TYPE = RECORD[ id: idNode, Type: TypeNode, Constant: ConstantNode]; DeclarationconstantProdProcs: DeclarationNodeProcs; BuildDeclarationconstantProdNode: PROC[position: INT, length: INT, id: idNode, Type: TypeNode, Constant: ConstantNode] RETURNS[DeclarationNode]; DeclarationconstantProdBuildItem: BuildItemProcType; DeclarationconstantProdBuildTypeGraph: BuildTypeGraphProcType; -- TypealiasProd TypealiasProdData: TYPE = REF TypealiasProdDataBody; TypealiasProdDataBody: TYPE = RECORD[ id: idNode]; TypealiasProdProcs: TypeNodeProcs; BuildTypealiasProdNode: PROC[position: INT, length: INT, id: idNode] RETURNS[TypeNode]; TypealiasProdBuildTGPair: BuildTGPairProcType; TypealiasProdCanonicalType: CanonicalTypeProcType; -- TypeimportProd TypeimportProdData: TYPE = REF TypeimportProdDataBody; TypeimportProdDataBody: TYPE = RECORD[ idinterface: idNode, iditem: idNode]; TypeimportProdProcs: TypeNodeProcs; BuildTypeimportProdNode: PROC[position: INT, length: INT, idinterface: idNode, iditem: idNode] RETURNS[TypeNode]; TypeimportProdBuildTGPair: BuildTGPairProcType; TypeimportProdCanonicalType: CanonicalTypeProcType; -- TypeboolProd TypeboolProdData: TYPE = REF TypeboolProdDataBody; TypeboolProdDataBody: TYPE = RECORD[ ]; TypeboolProdProcs: TypeNodeProcs; BuildTypeboolProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; TypeboolProdBuildTGPair: BuildTGPairProcType; TypeboolProdCanonicalType: CanonicalTypeProcType; -- Typecard16Prod Typecard16ProdData: TYPE = REF Typecard16ProdDataBody; Typecard16ProdDataBody: TYPE = RECORD[ ]; Typecard16ProdProcs: TypeNodeProcs; BuildTypecard16ProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; Typecard16ProdBuildTGPair: BuildTGPairProcType; Typecard16ProdCanonicalType: CanonicalTypeProcType; -- Typecard32Prod Typecard32ProdData: TYPE = REF Typecard32ProdDataBody; Typecard32ProdDataBody: TYPE = RECORD[ ]; Typecard32ProdProcs: TypeNodeProcs; BuildTypecard32ProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; Typecard32ProdBuildTGPair: BuildTGPairProcType; Typecard32ProdCanonicalType: CanonicalTypeProcType; -- Typeint16Prod Typeint16ProdData: TYPE = REF Typeint16ProdDataBody; Typeint16ProdDataBody: TYPE = RECORD[ ]; Typeint16ProdProcs: TypeNodeProcs; BuildTypeint16ProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; Typeint16ProdBuildTGPair: BuildTGPairProcType; Typeint16ProdCanonicalType: CanonicalTypeProcType; -- Typeint32Prod Typeint32ProdData: TYPE = REF Typeint32ProdDataBody; Typeint32ProdDataBody: TYPE = RECORD[ ]; Typeint32ProdProcs: TypeNodeProcs; BuildTypeint32ProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; Typeint32ProdBuildTGPair: BuildTGPairProcType; Typeint32ProdCanonicalType: CanonicalTypeProcType; -- TypesinkProd TypesinkProdData: TYPE = REF TypesinkProdDataBody; TypesinkProdDataBody: TYPE = RECORD[ ]; TypesinkProdProcs: TypeNodeProcs; BuildTypesinkProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; TypesinkProdBuildTGPair: BuildTGPairProcType; TypesinkProdCanonicalType: CanonicalTypeProcType; -- TypesourceProd TypesourceProdData: TYPE = REF TypesourceProdDataBody; TypesourceProdDataBody: TYPE = RECORD[ ]; TypesourceProdProcs: TypeNodeProcs; BuildTypesourceProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; TypesourceProdBuildTGPair: BuildTGPairProcType; TypesourceProdCanonicalType: CanonicalTypeProcType; -- TypestringProd TypestringProdData: TYPE = REF TypestringProdDataBody; TypestringProdDataBody: TYPE = RECORD[ ]; TypestringProdProcs: TypeNodeProcs; BuildTypestringProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; TypestringProdBuildTGPair: BuildTGPairProcType; TypestringProdCanonicalType: CanonicalTypeProcType; -- TypeunspecProd TypeunspecProdData: TYPE = REF TypeunspecProdDataBody; TypeunspecProdDataBody: TYPE = RECORD[ ]; TypeunspecProdProcs: TypeNodeProcs; BuildTypeunspecProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; TypeunspecProdBuildTGPair: BuildTGPairProcType; TypeunspecProdCanonicalType: CanonicalTypeProcType; -- TypearrayProd TypearrayProdData: TYPE = REF TypearrayProdDataBody; TypearrayProdDataBody: TYPE = RECORD[ Constant: ConstantNode, Type: TypeNode]; TypearrayProdProcs: TypeNodeProcs; BuildTypearrayProdNode: PROC[position: INT, length: INT, Constant: ConstantNode, Type: TypeNode] RETURNS[TypeNode]; TypearrayProdBuildTGPair: BuildTGPairProcType; TypearrayProdCanonicalType: CanonicalTypeProcType; -- TypeseqProd TypeseqProdData: TYPE = REF TypeseqProdDataBody; TypeseqProdDataBody: TYPE = RECORD[ Constant: ConstantNode, Type: TypeNode]; TypeseqProdProcs: TypeNodeProcs; BuildTypeseqProdNode: PROC[position: INT, length: INT, Constant: ConstantNode, Type: TypeNode] RETURNS[TypeNode]; TypeseqProdBuildTGPair: BuildTGPairProcType; TypeseqProdCanonicalType: CanonicalTypeProcType; -- TypeenumProd TypeenumProdData: TYPE = REF TypeenumProdDataBody; TypeenumProdDataBody: TYPE = RECORD[ Enumeration: EnumerationNode]; TypeenumProdProcs: TypeNodeProcs; BuildTypeenumProdNode: PROC[position: INT, length: INT, Enumeration: EnumerationNode] RETURNS[TypeNode]; TypeenumProdBuildTGPair: BuildTGPairProcType; TypeenumProdCanonicalType: CanonicalTypeProcType; -- TypeerrorProd TypeerrorProdData: TYPE = REF TypeerrorProdDataBody; TypeerrorProdDataBody: TYPE = RECORD[ FieldList: FieldListNode]; TypeerrorProdProcs: TypeNodeProcs; BuildTypeerrorProdNode: PROC[position: INT, length: INT, FieldList: FieldListNode] RETURNS[TypeNode]; TypeerrorProdBuildTGPair: BuildTGPairProcType; TypeerrorProdCanonicalType: CanonicalTypeProcType; -- TyperecordProd TyperecordProdData: TYPE = REF TyperecordProdDataBody; TyperecordProdDataBody: TYPE = RECORD[ FieldList: FieldListNode]; TyperecordProdProcs: TypeNodeProcs; BuildTyperecordProdNode: PROC[position: INT, length: INT, FieldList: FieldListNode] RETURNS[TypeNode]; TyperecordProdBuildTGPair: BuildTGPairProcType; TyperecordProdCanonicalType: CanonicalTypeProcType; -- TypenullProd TypenullProdData: TYPE = REF TypenullProdDataBody; TypenullProdDataBody: TYPE = RECORD[ ]; TypenullProdProcs: TypeNodeProcs; BuildTypenullProdNode: PROC[position: INT, length: INT] RETURNS[TypeNode]; TypenullProdBuildTGPair: BuildTGPairProcType; TypenullProdCanonicalType: CanonicalTypeProcType; -- TypeprocProd TypeprocProdData: TYPE = REF TypeprocProdDataBody; TypeprocProdDataBody: TYPE = RECORD[ FieldListarg: FieldListNode, FieldListres: FieldListNode, NameList: NameListNode]; TypeprocProdProcs: TypeNodeProcs; BuildTypeprocProdNode: PROC[position: INT, length: INT, FieldListarg: FieldListNode, FieldListres: FieldListNode, NameList: NameListNode] RETURNS[TypeNode]; TypeprocProdBuildTGPair: BuildTGPairProcType; TypeprocProdCanonicalType: CanonicalTypeProcType; -- TypechoiceProd TypechoiceProdData: TYPE = REF TypechoiceProdDataBody; TypechoiceProdDataBody: TYPE = RECORD[ Type: TypeNode, Union: UnionNode]; TypechoiceProdProcs: TypeNodeProcs; BuildTypechoiceProdNode: PROC[position: INT, length: INT, Type: TypeNode, Union: UnionNode] RETURNS[TypeNode]; TypechoiceProdBuildTGPair: BuildTGPairProcType; TypechoiceProdCanonicalType: CanonicalTypeProcType; -- ConstantderefProd ConstantderefProdData: TYPE = REF ConstantderefProdDataBody; ConstantderefProdDataBody: TYPE = RECORD[ id: idNode]; ConstantderefProdProcs: ConstantNodeProcs; BuildConstantderefProdNode: PROC[position: INT, length: INT, id: idNode] RETURNS[ConstantNode]; ConstantderefProdBuildAbstractValue: BuildAbstractValueProcType; ConstantderefProdCoerce: CoerceProcType; ConstantderefProdCardValue: CardValueProcType; ConstantderefProdConstantToRope: ConstantToRopeProcType; -- ConstantimportProd ConstantimportProdData: TYPE = REF ConstantimportProdDataBody; ConstantimportProdDataBody: TYPE = RECORD[ idinterface: idNode, iditem: idNode]; ConstantimportProdProcs: ConstantNodeProcs; BuildConstantimportProdNode: PROC[position: INT, length: INT, idinterface: idNode, iditem: idNode] RETURNS[ConstantNode]; ConstantimportProdBuildAbstractValue: BuildAbstractValueProcType; ConstantimportProdCoerce: CoerceProcType; ConstantimportProdCardValue: CardValueProcType; ConstantimportProdConstantToRope: ConstantToRopeProcType; -- ConstantemptyProd ConstantemptyProdData: TYPE = REF ConstantemptyProdDataBody; ConstantemptyProdDataBody: TYPE = RECORD[ ]; ConstantemptyProdProcs: ConstantNodeProcs; BuildConstantemptyProdNode: PROC[position: INT, length: INT] RETURNS[ConstantNode]; ConstantemptyProdBuildAbstractValue: BuildAbstractValueProcType; ConstantemptyProdCoerce: CoerceProcType; ConstantemptyProdCardValue: CardValueProcType; ConstantemptyProdConstantToRope: ConstantToRopeProcType; -- ConstantfalseProd ConstantfalseProdData: TYPE = REF ConstantfalseProdDataBody; ConstantfalseProdDataBody: TYPE = RECORD[ ]; ConstantfalseProdProcs: ConstantNodeProcs; BuildConstantfalseProdNode: PROC[position: INT, length: INT] RETURNS[ConstantNode]; ConstantfalseProdBuildAbstractValue: BuildAbstractValueProcType; ConstantfalseProdCoerce: CoerceProcType; ConstantfalseProdCardValue: CardValueProcType; ConstantfalseProdConstantToRope: ConstantToRopeProcType; -- ConstanttrueProd ConstanttrueProdData: TYPE = REF ConstanttrueProdDataBody; ConstanttrueProdDataBody: TYPE = RECORD[ ]; ConstanttrueProdProcs: ConstantNodeProcs; BuildConstanttrueProdNode: PROC[position: INT, length: INT] RETURNS[ConstantNode]; ConstanttrueProdBuildAbstractValue: BuildAbstractValueProcType; ConstanttrueProdCoerce: CoerceProcType; ConstanttrueProdCardValue: CardValueProcType; ConstanttrueProdConstantToRope: ConstantToRopeProcType; -- ConstantunboundedProd ConstantunboundedProdData: TYPE = REF ConstantunboundedProdDataBody; ConstantunboundedProdDataBody: TYPE = RECORD[ ]; ConstantunboundedProdProcs: ConstantNodeProcs; BuildConstantunboundedProdNode: PROC[position: INT, length: INT] RETURNS[ConstantNode]; ConstantunboundedProdBuildAbstractValue: BuildAbstractValueProcType; ConstantunboundedProdCoerce: CoerceProcType; ConstantunboundedProdCardValue: CardValueProcType; ConstantunboundedProdConstantToRope: ConstantToRopeProcType; -- ConstantinvertedProd ConstantinvertedProdData: TYPE = REF ConstantinvertedProdDataBody; ConstantinvertedProdDataBody: TYPE = RECORD[ Number: NumberNode]; ConstantinvertedProdProcs: ConstantNodeProcs; BuildConstantinvertedProdNode: PROC[position: INT, length: INT, Number: NumberNode] RETURNS[ConstantNode]; ConstantinvertedProdBuildAbstractValue: BuildAbstractValueProcType; ConstantinvertedProdCoerce: CoerceProcType; ConstantinvertedProdCardValue: CardValueProcType; ConstantinvertedProdConstantToRope: ConstantToRopeProcType; -- ConstantnumberProd ConstantnumberProdData: TYPE = REF ConstantnumberProdDataBody; ConstantnumberProdDataBody: TYPE = RECORD[ Number: NumberNode]; ConstantnumberProdProcs: ConstantNodeProcs; BuildConstantnumberProdNode: PROC[position: INT, length: INT, Number: NumberNode] RETURNS[ConstantNode]; ConstantnumberProdBuildAbstractValue: BuildAbstractValueProcType; ConstantnumberProdCoerce: CoerceProcType; ConstantnumberProdCardValue: CardValueProcType; ConstantnumberProdConstantToRope: ConstantToRopeProcType; -- ConstantstringProd ConstantstringProdData: TYPE = REF ConstantstringProdDataBody; ConstantstringProdDataBody: TYPE = RECORD[ rope: ropeNode]; ConstantstringProdProcs: ConstantNodeProcs; BuildConstantstringProdNode: PROC[position: INT, length: INT, rope: ropeNode] RETURNS[ConstantNode]; ConstantstringProdBuildAbstractValue: BuildAbstractValueProcType; ConstantstringProdCoerce: CoerceProcType; ConstantstringProdCardValue: CardValueProcType; ConstantstringProdConstantToRope: ConstantToRopeProcType; -- ConstantchoiceProd ConstantchoiceProdData: TYPE = REF ConstantchoiceProdDataBody; ConstantchoiceProdDataBody: TYPE = RECORD[ id: idNode, Constant: ConstantNode]; ConstantchoiceProdProcs: ConstantNodeProcs; BuildConstantchoiceProdNode: PROC[position: INT, length: INT, id: idNode, Constant: ConstantNode] RETURNS[ConstantNode]; ConstantchoiceProdBuildAbstractValue: BuildAbstractValueProcType; ConstantchoiceProdCoerce: CoerceProcType; ConstantchoiceProdCardValue: CardValueProcType; ConstantchoiceProdConstantToRope: ConstantToRopeProcType; -- ConstantconstructorProd ConstantconstructorProdData: TYPE = REF ConstantconstructorProdDataBody; ConstantconstructorProdDataBody: TYPE = RECORD[ Constructor: ConstructorNode]; ConstantconstructorProdProcs: ConstantNodeProcs; BuildConstantconstructorProdNode: PROC[position: INT, length: INT, Constructor: ConstructorNode] RETURNS[ConstantNode]; ConstantconstructorProdBuildAbstractValue: BuildAbstractValueProcType; ConstantconstructorProdCoerce: CoerceProcType; ConstantconstructorProdCardValue: CardValueProcType; ConstantconstructorProdConstantToRope: ConstantToRopeProcType; -- ConstantgroupingProd ConstantgroupingProdData: TYPE = REF ConstantgroupingProdDataBody; ConstantgroupingProdDataBody: TYPE = RECORD[ Grouping: GroupingNode]; ConstantgroupingProdProcs: ConstantNodeProcs; BuildConstantgroupingProdNode: PROC[position: INT, length: INT, Grouping: GroupingNode] RETURNS[ConstantNode]; ConstantgroupingProdBuildAbstractValue: BuildAbstractValueProcType; ConstantgroupingProdCoerce: CoerceProcType; ConstantgroupingProdCardValue: CardValueProcType; ConstantgroupingProdConstantToRope: ConstantToRopeProcType; -- EnumerationoneProd EnumerationoneProdData: TYPE = REF EnumerationoneProdDataBody; EnumerationoneProdDataBody: TYPE = RECORD[ id: idNode, Constant: ConstantNode]; EnumerationoneProdProcs: EnumerationNodeProcs; BuildEnumerationoneProdNode: PROC[position: INT, length: INT, id: idNode, Constant: ConstantNode] RETURNS[EnumerationNode]; EnumerationoneProdCanonicalEnumeration: CanonicalEnumerationProcType; EnumerationoneProdCheckEnumeration: CheckEnumerationProcType; -- EnumerationmoreProd EnumerationmoreProdData: TYPE = REF EnumerationmoreProdDataBody; EnumerationmoreProdDataBody: TYPE = RECORD[ Enumerationvalue: EnumerationNode, Enumerationnext: EnumerationNode]; EnumerationmoreProdProcs: EnumerationNodeProcs; BuildEnumerationmoreProdNode: PROC[position: INT, length: INT, Enumerationvalue: EnumerationNode, Enumerationnext: EnumerationNode] RETURNS[EnumerationNode]; EnumerationmoreProdCanonicalEnumeration: CanonicalEnumerationProcType; EnumerationmoreProdCheckEnumeration: CheckEnumerationProcType; -- UniononeProd UniononeProdData: TYPE = REF UniononeProdDataBody; UniononeProdDataBody: TYPE = RECORD[ NameList: NameListNode, Type: TypeNode]; UniononeProdProcs: UnionNodeProcs; BuildUniononeProdNode: PROC[position: INT, length: INT, NameList: NameListNode, Type: TypeNode] RETURNS[UnionNode]; UniononeProdCanonicalUnion: CanonicalUnionProcType; UniononeProdEmptyWorkTableOfNames: EmptyWorkTableOfNamesProcType; -- UnionmoreProd UnionmoreProdData: TYPE = REF UnionmoreProdDataBody; UnionmoreProdDataBody: TYPE = RECORD[ Unionvalue: UnionNode, Unionnext: UnionNode]; UnionmoreProdProcs: UnionNodeProcs; BuildUnionmoreProdNode: PROC[position: INT, length: INT, Unionvalue: UnionNode, Unionnext: UnionNode] RETURNS[UnionNode]; UnionmoreProdCanonicalUnion: CanonicalUnionProcType; UnionmoreProdEmptyWorkTableOfNames: EmptyWorkTableOfNamesProcType; -- FieldListemptyProd FieldListemptyProdData: TYPE = REF FieldListemptyProdDataBody; FieldListemptyProdDataBody: TYPE = RECORD[ ]; FieldListemptyProdProcs: FieldListNodeProcs; BuildFieldListemptyProdNode: PROC[position: INT, length: INT] RETURNS[FieldListNode]; FieldListemptyProdCanonicalFieldList: CanonicalFieldListProcType; -- FieldListoneProd FieldListoneProdData: TYPE = REF FieldListoneProdDataBody; FieldListoneProdDataBody: TYPE = RECORD[ NameList: NameListNode, Type: TypeNode]; FieldListoneProdProcs: FieldListNodeProcs; BuildFieldListoneProdNode: PROC[position: INT, length: INT, NameList: NameListNode, Type: TypeNode] RETURNS[FieldListNode]; FieldListoneProdCanonicalFieldList: CanonicalFieldListProcType; -- FieldListmoreProd FieldListmoreProdData: TYPE = REF FieldListmoreProdDataBody; FieldListmoreProdDataBody: TYPE = RECORD[ FieldListvalue: FieldListNode, FieldListrest: FieldListNode]; FieldListmoreProdProcs: FieldListNodeProcs; BuildFieldListmoreProdNode: PROC[position: INT, length: INT, FieldListvalue: FieldListNode, FieldListrest: FieldListNode] RETURNS[FieldListNode]; FieldListmoreProdCanonicalFieldList: CanonicalFieldListProcType; -- GroupingoneProd GroupingoneProdData: TYPE = REF GroupingoneProdDataBody; GroupingoneProdDataBody: TYPE = RECORD[ Constant: ConstantNode]; GroupingoneProdProcs: GroupingNodeProcs; BuildGroupingoneProdNode: PROC[position: INT, length: INT, Constant: ConstantNode] RETURNS[GroupingNode]; GroupingoneProdCoerceGrouping: CoerceGroupingProcType; GroupingoneProdGroupingConstantToRope: GroupingConstantToRopeProcType; GroupingoneProdSize: SizeProcType; -- GroupingmoreProd GroupingmoreProdData: TYPE = REF GroupingmoreProdDataBody; GroupingmoreProdDataBody: TYPE = RECORD[ Constant: ConstantNode, Grouping: GroupingNode]; GroupingmoreProdProcs: GroupingNodeProcs; BuildGroupingmoreProdNode: PROC[position: INT, length: INT, Constant: ConstantNode, Grouping: GroupingNode] RETURNS[GroupingNode]; GroupingmoreProdCoerceGrouping: CoerceGroupingProcType; GroupingmoreProdGroupingConstantToRope: GroupingConstantToRopeProcType; GroupingmoreProdSize: SizeProcType; -- ConstructoroneProd ConstructoroneProdData: TYPE = REF ConstructoroneProdDataBody; ConstructoroneProdDataBody: TYPE = RECORD[ Binding: BindingNode]; ConstructoroneProdProcs: ConstructorNodeProcs; BuildConstructoroneProdNode: PROC[position: INT, length: INT, Binding: BindingNode] RETURNS[ConstructorNode]; ConstructoroneProdCoerceComponents: CoerceComponentsProcType; ConstructoroneProdConstantToRope: ConstantToRopeProcType; ConstructoroneProdCheckAllNames: CheckAllNamesProcType; -- ConstructormoreProd ConstructormoreProdData: TYPE = REF ConstructormoreProdDataBody; ConstructormoreProdDataBody: TYPE = RECORD[ Binding: BindingNode, Constructor: ConstructorNode]; ConstructormoreProdProcs: ConstructorNodeProcs; BuildConstructormoreProdNode: PROC[position: INT, length: INT, Binding: BindingNode, Constructor: ConstructorNode] RETURNS[ConstructorNode]; ConstructormoreProdCoerceComponents: CoerceComponentsProcType; ConstructormoreProdConstantToRope: ConstantToRopeProcType; ConstructormoreProdCheckAllNames: CheckAllNamesProcType; -- BindingProd BindingProdData: TYPE = REF BindingProdDataBody; BindingProdDataBody: TYPE = RECORD[ NameList: NameListNode, Constant: ConstantNode]; BindingProdProcs: BindingNodeProcs; BuildBindingProdNode: PROC[position: INT, length: INT, NameList: NameListNode, Constant: ConstantNode] RETURNS[BindingNode]; BindingProdCoerceComponents: CoerceComponentsProcType; BindingProdConstantToRope: ConstantToRopeProcType; BindingProdCheckAllNames: CheckAllNamesProcType; -- NameListemptyProd NameListemptyProdData: TYPE = REF NameListemptyProdDataBody; NameListemptyProdDataBody: TYPE = RECORD[ ]; NameListemptyProdProcs: NameListNodeProcs; BuildNameListemptyProdNode: PROC[position: INT, length: INT] RETURNS[NameListNode]; NameListemptyProdCheckIfErrorNames: CheckIfErrorNamesProcType; NameListemptyProdCanonicalFieldsFromNameList: CanonicalFieldsFromNameListProcType; NameListemptyProdCoerceComponentNameList: CoerceComponentNameListProcType; NameListemptyProdNameListToRope: NameListToRopeProcType; NameListemptyProdEmptyWorkTableOfNames: EmptyWorkTableOfNamesProcType; NameListemptyProdTypeOfNameList: TypeOfNameListProcType; -- NameListoneProd NameListoneProdData: TYPE = REF NameListoneProdDataBody; NameListoneProdDataBody: TYPE = RECORD[ id: idNode]; NameListoneProdProcs: NameListNodeProcs; BuildNameListoneProdNode: PROC[position: INT, length: INT, id: idNode] RETURNS[NameListNode]; NameListoneProdCheckIfErrorNames: CheckIfErrorNamesProcType; NameListoneProdCanonicalFieldsFromNameList: CanonicalFieldsFromNameListProcType; NameListoneProdCoerceComponentNameList: CoerceComponentNameListProcType; NameListoneProdNameListToRope: NameListToRopeProcType; NameListoneProdEmptyWorkTableOfNames: EmptyWorkTableOfNamesProcType; NameListoneProdTypeOfNameList: TypeOfNameListProcType; -- NameListmoreProd NameListmoreProdData: TYPE = REF NameListmoreProdDataBody; NameListmoreProdDataBody: TYPE = RECORD[ id: idNode, NameList: NameListNode]; NameListmoreProdProcs: NameListNodeProcs; BuildNameListmoreProdNode: PROC[position: INT, length: INT, id: idNode, NameList: NameListNode] RETURNS[NameListNode]; NameListmoreProdCheckIfErrorNames: CheckIfErrorNamesProcType; NameListmoreProdCanonicalFieldsFromNameList: CanonicalFieldsFromNameListProcType; NameListmoreProdCoerceComponentNameList: CoerceComponentNameListProcType; NameListmoreProdNameListToRope: NameListToRopeProcType; NameListmoreProdEmptyWorkTableOfNames: EmptyWorkTableOfNamesProcType; NameListmoreProdTypeOfNameList: TypeOfNameListProcType; -- NumberdecimalProd NumberdecimalProdData: TYPE = REF NumberdecimalProdDataBody; NumberdecimalProdDataBody: TYPE = RECORD[ decimal: decimalNode]; NumberdecimalProdProcs: NumberNodeProcs; BuildNumberdecimalProdNode: PROC[position: INT, length: INT, decimal: decimalNode] RETURNS[NumberNode]; NumberdecimalProdCardValue: CardValueProcType; NumberdecimalProdNumberToCard: NumberToCardProcType; -- NumberhexProd NumberhexProdData: TYPE = REF NumberhexProdDataBody; NumberhexProdDataBody: TYPE = RECORD[ hex: hexNode]; NumberhexProdProcs: NumberNodeProcs; BuildNumberhexProdNode: PROC[position: INT, length: INT, hex: hexNode] RETURNS[NumberNode]; NumberhexProdCardValue: CardValueProcType; NumberhexProdNumberToCard: NumberToCardProcType; -- NumberoctalProd NumberoctalProdData: TYPE = REF NumberoctalProdDataBody; NumberoctalProdDataBody: TYPE = RECORD[ octal: octalNode]; NumberoctalProdProcs: NumberNodeProcs; BuildNumberoctalProdNode: PROC[position: INT, length: INT, octal: octalNode] RETURNS[NumberNode]; NumberoctalProdCardValue: CardValueProcType; NumberoctalProdNumberToCard: NumberToCardProcType; END..