SiroccoAG2Impl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at August 26, 1987 3:38:07 pm PDT
using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT
DIRECTORY
SiroccoAG2Def,
SiroccoCGDef,
SiroccoATDef;
SiroccoAG2Impl: CEDAR PROGRAM IMPORTS SiroccoAG2Def EXPORTS SiroccoAG2Def=
BEGIN
OPEN SiroccoAG2Def, SiroccoCGDef, SiroccoATDef;
ConstantderefProd
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;
ConstantimportProd
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;
ConstantemptyProd
ConstantemptyProdProcs: PUBLIC ConstantNodeProcs ←
NEW[ConstantNodeProcsBody ← [ConstantemptyProdBuildAbstractValue]];
BuildConstantemptyProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[ConstantNode] =
BEGIN
RETURN[NEW[ConstantNodeBody←[position, length, ConstantemptyProdProcs, NIL]]];
END;
ConstantfalseProd
ConstantfalseProdProcs: PUBLIC ConstantNodeProcs ←
NEW[ConstantNodeProcsBody ← [ConstantfalseProdBuildAbstractValue]];
BuildConstantfalseProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[ConstantNode] =
BEGIN
RETURN[NEW[ConstantNodeBody←[position, length, ConstantfalseProdProcs, NIL]]];
END;
ConstanttrueProd
ConstanttrueProdProcs: PUBLIC ConstantNodeProcs ←
NEW[ConstantNodeProcsBody ← [ConstanttrueProdBuildAbstractValue]];
BuildConstanttrueProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[ConstantNode] =
BEGIN
RETURN[NEW[ConstantNodeBody←[position, length, ConstanttrueProdProcs, NIL]]];
END;
ConstantunboundedProd
ConstantunboundedProdProcs: PUBLIC ConstantNodeProcs ←
NEW[ConstantNodeProcsBody ← [ConstantunboundedProdBuildAbstractValue]];
BuildConstantunboundedProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[ConstantNode] =
BEGIN
RETURN[NEW[ConstantNodeBody←[position, length, ConstantunboundedProdProcs, NIL]]];
END;
ConstantinvertedProd
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;
ConstantnumberProd
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;
ConstantstringProd
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;
ConstantchoiceProd
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;
ConstantconstructorProd
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;
ConstantgroupingProd
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;
EnumerationoneProd
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;
EnumerationmoreProd
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;
UniononeProd
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;
UnionmoreProd
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;
FieldListemptyProd
FieldListemptyProdProcs: PUBLIC FieldListNodeProcs ←
NEW[FieldListNodeProcsBody ← [FieldListemptyProdBuildTGN]];
BuildFieldListemptyProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[FieldListNode] =
BEGIN
RETURN[NEW[FieldListNodeBody←[position, length, FieldListemptyProdProcs, NIL]]];
END;
FieldListoneProd
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;
FieldListmoreProd
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;
GroupingoneProd
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;
GroupingmoreProd
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;
ConstructoroneProd
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;
ConstructormoreProd
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;
BindingProd
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;
NameListemptyProd
NameListemptyProdProcs: PUBLIC NameListNodeProcs ←
NEW[NameListNodeProcsBody ← [NameListemptyProdBuildTGN]];
BuildNameListemptyProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[NameListNode] =
BEGIN
RETURN[NEW[NameListNodeBody←[position, length, NameListemptyProdProcs, NIL]]];
END;
NameListoneProd
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;
NameListmoreProd
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;
NumberdecimalProd
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;
NumberhexProd
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;
NumberoctalProd
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..