<> <> <> <> DIRECTORY SiroccoAG2Def, SiroccoCGDef, SiroccoATDef; SiroccoAG2Impl: CEDAR PROGRAM IMPORTS SiroccoAG2Def EXPORTS SiroccoAG2Def= BEGIN OPEN SiroccoAG2Def, SiroccoCGDef, SiroccoATDef; <> ConstantderefProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantderefProdBuildAbstractValue]]; BuildConstantderefProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode] RETURNS[ConstantNode] = BEGIN data: ConstantderefProdData _ NEW[ConstantderefProdDataBody _ [ id]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantderefProdProcs, data]]]; END; <> ConstantimportProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantimportProdBuildAbstractValue]]; BuildConstantimportProdNode: PUBLIC PROC[position: INT, length: INT, idinterface: idNode, iditem: idNode] RETURNS[ConstantNode] = BEGIN data: ConstantimportProdData _ NEW[ConstantimportProdDataBody _ [ idinterface, iditem]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantimportProdProcs, data]]]; END; <> ConstantemptyProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantemptyProdBuildAbstractValue]]; BuildConstantemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ConstantNode] = BEGIN RETURN[NEW[ConstantNodeBody_[position, length, ConstantemptyProdProcs, NIL]]]; END; <> ConstantfalseProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantfalseProdBuildAbstractValue]]; BuildConstantfalseProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ConstantNode] = BEGIN RETURN[NEW[ConstantNodeBody_[position, length, ConstantfalseProdProcs, NIL]]]; END; <> ConstanttrueProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstanttrueProdBuildAbstractValue]]; BuildConstanttrueProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ConstantNode] = BEGIN RETURN[NEW[ConstantNodeBody_[position, length, ConstanttrueProdProcs, NIL]]]; END; <> ConstantunboundedProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantunboundedProdBuildAbstractValue]]; BuildConstantunboundedProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[ConstantNode] = BEGIN RETURN[NEW[ConstantNodeBody_[position, length, ConstantunboundedProdProcs, NIL]]]; END; <> ConstantinvertedProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantinvertedProdBuildAbstractValue]]; BuildConstantinvertedProdNode: PUBLIC PROC[position: INT, length: INT, Number: NumberNode] RETURNS[ConstantNode] = BEGIN data: ConstantinvertedProdData _ NEW[ConstantinvertedProdDataBody _ [ Number]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantinvertedProdProcs, data]]]; END; <> ConstantnumberProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantnumberProdBuildAbstractValue]]; BuildConstantnumberProdNode: PUBLIC PROC[position: INT, length: INT, Number: NumberNode] RETURNS[ConstantNode] = BEGIN data: ConstantnumberProdData _ NEW[ConstantnumberProdDataBody _ [ Number]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantnumberProdProcs, data]]]; END; <> ConstantstringProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantstringProdBuildAbstractValue]]; BuildConstantstringProdNode: PUBLIC PROC[position: INT, length: INT, rope: ropeNode] RETURNS[ConstantNode] = BEGIN data: ConstantstringProdData _ NEW[ConstantstringProdDataBody _ [ rope]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantstringProdProcs, data]]]; END; <> ConstantchoiceProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantchoiceProdBuildAbstractValue]]; BuildConstantchoiceProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode, Constant: ConstantNode] RETURNS[ConstantNode] = BEGIN data: ConstantchoiceProdData _ NEW[ConstantchoiceProdDataBody _ [ id, Constant]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantchoiceProdProcs, data]]]; END; <> ConstantconstructorProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantconstructorProdBuildAbstractValue]]; BuildConstantconstructorProdNode: PUBLIC PROC[position: INT, length: INT, Constructor: ConstructorNode] RETURNS[ConstantNode] = BEGIN data: ConstantconstructorProdData _ NEW[ConstantconstructorProdDataBody _ [ Constructor]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantconstructorProdProcs, data]]]; END; <> ConstantgroupingProdProcs: PUBLIC ConstantNodeProcs _ NEW[ConstantNodeProcsBody _ [ConstantgroupingProdBuildAbstractValue]]; BuildConstantgroupingProdNode: PUBLIC PROC[position: INT, length: INT, Grouping: GroupingNode] RETURNS[ConstantNode] = BEGIN data: ConstantgroupingProdData _ NEW[ConstantgroupingProdDataBody _ [ Grouping]]; RETURN[NEW[ConstantNodeBody_[position, length, ConstantgroupingProdProcs, data]]]; END; <> EnumerationoneProdProcs: PUBLIC EnumerationNodeProcs _ NEW[EnumerationNodeProcsBody _ [EnumerationoneProdBuildTGN]]; BuildEnumerationoneProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode, Constant: ConstantNode] RETURNS[EnumerationNode] = BEGIN data: EnumerationoneProdData _ NEW[EnumerationoneProdDataBody _ [ id, Constant]]; RETURN[NEW[EnumerationNodeBody_[position, length, EnumerationoneProdProcs, data]]]; END; <> EnumerationmoreProdProcs: PUBLIC EnumerationNodeProcs _ NEW[EnumerationNodeProcsBody _ [EnumerationmoreProdBuildTGN]]; BuildEnumerationmoreProdNode: PUBLIC PROC[position: INT, length: INT, Enumerationvalue: EnumerationNode, Enumerationnext: EnumerationNode] RETURNS[EnumerationNode] = BEGIN data: EnumerationmoreProdData _ NEW[EnumerationmoreProdDataBody _ [ Enumerationvalue, Enumerationnext]]; RETURN[NEW[EnumerationNodeBody_[position, length, EnumerationmoreProdProcs, data]]]; END; <> UniononeProdProcs: PUBLIC UnionNodeProcs _ NEW[UnionNodeProcsBody _ [UniononeProdBuildTGN]]; BuildUniononeProdNode: PUBLIC PROC[position: INT, length: INT, NameList: NameListNode, Type: TypeNode] RETURNS[UnionNode] = BEGIN data: UniononeProdData _ NEW[UniononeProdDataBody _ [ NameList, Type]]; RETURN[NEW[UnionNodeBody_[position, length, UniononeProdProcs, data]]]; END; <> UnionmoreProdProcs: PUBLIC UnionNodeProcs _ NEW[UnionNodeProcsBody _ [UnionmoreProdBuildTGN]]; BuildUnionmoreProdNode: PUBLIC PROC[position: INT, length: INT, Unionvalue: UnionNode, Unionnext: UnionNode] RETURNS[UnionNode] = BEGIN data: UnionmoreProdData _ NEW[UnionmoreProdDataBody _ [ Unionvalue, Unionnext]]; RETURN[NEW[UnionNodeBody_[position, length, UnionmoreProdProcs, data]]]; END; <> FieldListemptyProdProcs: PUBLIC FieldListNodeProcs _ NEW[FieldListNodeProcsBody _ [FieldListemptyProdBuildTGN]]; BuildFieldListemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[FieldListNode] = BEGIN RETURN[NEW[FieldListNodeBody_[position, length, FieldListemptyProdProcs, NIL]]]; END; <> FieldListoneProdProcs: PUBLIC FieldListNodeProcs _ NEW[FieldListNodeProcsBody _ [FieldListoneProdBuildTGN]]; BuildFieldListoneProdNode: PUBLIC PROC[position: INT, length: INT, NameList: NameListNode, Type: TypeNode] RETURNS[FieldListNode] = BEGIN data: FieldListoneProdData _ NEW[FieldListoneProdDataBody _ [ NameList, Type]]; RETURN[NEW[FieldListNodeBody_[position, length, FieldListoneProdProcs, data]]]; END; <> FieldListmoreProdProcs: PUBLIC FieldListNodeProcs _ NEW[FieldListNodeProcsBody _ [FieldListmoreProdBuildTGN]]; BuildFieldListmoreProdNode: PUBLIC PROC[position: INT, length: INT, FieldListvalue: FieldListNode, FieldListrest: FieldListNode] RETURNS[FieldListNode] = BEGIN data: FieldListmoreProdData _ NEW[FieldListmoreProdDataBody _ [ FieldListvalue, FieldListrest]]; RETURN[NEW[FieldListNodeBody_[position, length, FieldListmoreProdProcs, data]]]; END; <> GroupingoneProdProcs: PUBLIC GroupingNodeProcs _ NEW[GroupingNodeProcsBody _ [GroupingoneProdBuildAbstractValue]]; BuildGroupingoneProdNode: PUBLIC PROC[position: INT, length: INT, Constant: ConstantNode] RETURNS[GroupingNode] = BEGIN data: GroupingoneProdData _ NEW[GroupingoneProdDataBody _ [ Constant]]; RETURN[NEW[GroupingNodeBody_[position, length, GroupingoneProdProcs, data]]]; END; <> GroupingmoreProdProcs: PUBLIC GroupingNodeProcs _ NEW[GroupingNodeProcsBody _ [GroupingmoreProdBuildAbstractValue]]; BuildGroupingmoreProdNode: PUBLIC PROC[position: INT, length: INT, Constant: ConstantNode, Grouping: GroupingNode] RETURNS[GroupingNode] = BEGIN data: GroupingmoreProdData _ NEW[GroupingmoreProdDataBody _ [ Constant, Grouping]]; RETURN[NEW[GroupingNodeBody_[position, length, GroupingmoreProdProcs, data]]]; END; <> ConstructoroneProdProcs: PUBLIC ConstructorNodeProcs _ NEW[ConstructorNodeProcsBody _ [ConstructoroneProdBuildAbstractValue]]; BuildConstructoroneProdNode: PUBLIC PROC[position: INT, length: INT, Binding: BindingNode] RETURNS[ConstructorNode] = BEGIN data: ConstructoroneProdData _ NEW[ConstructoroneProdDataBody _ [ Binding]]; RETURN[NEW[ConstructorNodeBody_[position, length, ConstructoroneProdProcs, data]]]; END; <> ConstructormoreProdProcs: PUBLIC ConstructorNodeProcs _ NEW[ConstructorNodeProcsBody _ [ConstructormoreProdBuildAbstractValue]]; BuildConstructormoreProdNode: PUBLIC PROC[position: INT, length: INT, Binding: BindingNode, Constructor: ConstructorNode] RETURNS[ConstructorNode] = BEGIN data: ConstructormoreProdData _ NEW[ConstructormoreProdDataBody _ [ Binding, Constructor]]; RETURN[NEW[ConstructorNodeBody_[position, length, ConstructormoreProdProcs, data]]]; END; <> BindingProdProcs: PUBLIC BindingNodeProcs _ NEW[BindingNodeProcsBody _ [BindingProdBuildAbstractValue]]; BuildBindingProdNode: PUBLIC PROC[position: INT, length: INT, NameList: NameListNode, Constant: ConstantNode] RETURNS[BindingNode] = BEGIN data: BindingProdData _ NEW[BindingProdDataBody _ [ NameList, Constant]]; RETURN[NEW[BindingNodeBody_[position, length, BindingProdProcs, data]]]; END; <> NameListemptyProdProcs: PUBLIC NameListNodeProcs _ NEW[NameListNodeProcsBody _ [NameListemptyProdBuildTGN]]; BuildNameListemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[NameListNode] = BEGIN RETURN[NEW[NameListNodeBody_[position, length, NameListemptyProdProcs, NIL]]]; END; <> NameListoneProdProcs: PUBLIC NameListNodeProcs _ NEW[NameListNodeProcsBody _ [NameListoneProdBuildTGN]]; BuildNameListoneProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode] RETURNS[NameListNode] = BEGIN data: NameListoneProdData _ NEW[NameListoneProdDataBody _ [ id]]; RETURN[NEW[NameListNodeBody_[position, length, NameListoneProdProcs, data]]]; END; <> NameListmoreProdProcs: PUBLIC NameListNodeProcs _ NEW[NameListNodeProcsBody _ [NameListmoreProdBuildTGN]]; BuildNameListmoreProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode, NameList: NameListNode] RETURNS[NameListNode] = BEGIN data: NameListmoreProdData _ NEW[NameListmoreProdDataBody _ [ id, NameList]]; RETURN[NEW[NameListNodeBody_[position, length, NameListmoreProdProcs, data]]]; END; <> NumberdecimalProdProcs: PUBLIC NumberNodeProcs _ NEW[NumberNodeProcsBody _ [NumberdecimalProdBuildAbstractValue]]; BuildNumberdecimalProdNode: PUBLIC PROC[position: INT, length: INT, decimal: decimalNode] RETURNS[NumberNode] = BEGIN data: NumberdecimalProdData _ NEW[NumberdecimalProdDataBody _ [ decimal]]; RETURN[NEW[NumberNodeBody_[position, length, NumberdecimalProdProcs, data]]]; END; <> NumberhexProdProcs: PUBLIC NumberNodeProcs _ NEW[NumberNodeProcsBody _ [NumberhexProdBuildAbstractValue]]; BuildNumberhexProdNode: PUBLIC PROC[position: INT, length: INT, hex: hexNode] RETURNS[NumberNode] = BEGIN data: NumberhexProdData _ NEW[NumberhexProdDataBody _ [ hex]]; RETURN[NEW[NumberNodeBody_[position, length, NumberhexProdProcs, data]]]; END; <> NumberoctalProdProcs: PUBLIC NumberNodeProcs _ NEW[NumberNodeProcsBody _ [NumberoctalProdBuildAbstractValue]]; BuildNumberoctalProdNode: PUBLIC PROC[position: INT, length: INT, octal: octalNode] RETURNS[NumberNode] = BEGIN data: NumberoctalProdData _ NEW[NumberoctalProdDataBody _ [ octal]]; RETURN[NEW[NumberNodeBody_[position, length, NumberoctalProdProcs, data]]]; END; END..