SaffronAG5Impl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 10:51:17 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
SaffronAG5Def,
SaffronGenericDef,
SaffronATDef;
SaffronAG5Impl: CEDAR PROGRAM IMPORTS SaffronAG5Def EXPORTS SaffronAG5Def=
BEGIN
OPEN SaffronAG5Def, SaffronGenericDef, SaffronATDef;
DecListoneProd
DecListoneProdProcs:
PUBLIC DecListNodeProcs ←
NEW[DecListNodeProcsBody ← [DecListoneProdfoo, DecListoneProdPreprocessDecls, DecListoneProdProcessDecls]];
BuildDecListoneProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Declaration: DeclarationNode]
RETURNS[DecListNode] =
BEGIN
data: DecListoneProdData ←
NEW[DecListoneProdDataBody←[
Declaration]];
RETURN[NEW[DecListNodeBody←[position, length, DecListoneProdProcs, data]]];
END;
DecListmanyProd
DecListmanyProdProcs:
PUBLIC DecListNodeProcs ←
NEW[DecListNodeProcsBody ← [DecListmanyProdfoo, DecListmanyProdPreprocessDecls, DecListmanyProdProcessDecls]];
BuildDecListmanyProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
DecListhead: DecListNode,
DecListtail: DecListNode]
RETURNS[DecListNode] =
BEGIN
data: DecListmanyProdData ←
NEW[DecListmanyProdDataBody←[
DecListhead, DecListtail]];
RETURN[NEW[DecListNodeBody←[position, length, DecListmanyProdProcs, data]]];
END;
DeclarationvalueProd
DeclarationvalueProdProcs:
PUBLIC DeclarationNodeProcs ←
NEW[DeclarationNodeProcsBody ← [DeclarationvalueProdfoo, DeclarationvalueProdPreprocessDecls, DeclarationvalueProdProcessDecls, DeclarationvalueProdProcessOneDecl]];
BuildDeclarationvalueProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
IdentList: IdentListNode,
Access: AccessNode,
Entry: EntryNode,
ReadOnly: ReadOnlyNode,
TypeExp: TypeExpNode,
Initialization: InitializationNode]
RETURNS[DeclarationNode] =
BEGIN
data: DeclarationvalueProdData ←
NEW[DeclarationvalueProdDataBody←[
IdentList, Access, Entry, ReadOnly, TypeExp, Initialization]];
RETURN[NEW[DeclarationNodeBody←[position, length, DeclarationvalueProdProcs, data]]];
END;
DeclarationtypeProd
DeclarationtypeProdProcs:
PUBLIC DeclarationNodeProcs ←
NEW[DeclarationNodeProcsBody ← [DeclarationtypeProdfoo, DeclarationtypeProdPreprocessDecls, DeclarationtypeProdProcessDecls, DeclarationtypeProdProcessOneDecl]];
BuildDeclarationtypeProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
IdentList: IdentListNode,
Accessid: AccessNode,
Accesstype: AccessNode,
TypeExp: TypeExpNode,
Default: DefaultNode]
RETURNS[DeclarationNode] =
BEGIN
data: DeclarationtypeProdData ←
NEW[DeclarationtypeProdDataBody←[
IdentList, Accessid, Accesstype, TypeExp, Default]];
RETURN[NEW[DeclarationNodeBody←[position, length, DeclarationtypeProdProcs, data]]];
END;
DeclarationopaquetypeProd
DeclarationopaquetypeProdProcs:
PUBLIC DeclarationNodeProcs ←
NEW[DeclarationNodeProcsBody ← [DeclarationopaquetypeProdfoo, DeclarationopaquetypeProdPreprocessDecls, DeclarationopaquetypeProdProcessDecls, DeclarationopaquetypeProdProcessOneDecl]];
BuildDeclarationopaquetypeProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
IdentList: IdentListNode,
Access: AccessNode,
OptSize: OptSizeNode]
RETURNS[DeclarationNode] =
BEGIN
data: DeclarationopaquetypeProdData ←
NEW[DeclarationopaquetypeProdDataBody←[
IdentList, Access, OptSize]];
RETURN[NEW[DeclarationNodeBody←[position, length, DeclarationopaquetypeProdProcs, data]]];
END;
OptSizeabsentProd
OptSizeabsentProdProcs:
PUBLIC OptSizeNodeProcs ←
NEW[OptSizeNodeProcsBody ← [OptSizeabsentProdfoo]];
BuildOptSizeabsentProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[OptSizeNode] =
BEGIN
RETURN[NEW[OptSizeNodeBody←[position, length, OptSizeabsentProdProcs, NIL]]];
END;
OptSizepresentProd
OptSizepresentProdProcs:
PUBLIC OptSizeNodeProcs ←
NEW[OptSizeNodeProcsBody ← [OptSizepresentProdfoo]];
BuildOptSizepresentProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Exp: ExpNode]
RETURNS[OptSizeNode] =
BEGIN
data: OptSizepresentProdData ←
NEW[OptSizepresentProdDataBody←[
Exp]];
RETURN[NEW[OptSizeNodeBody←[position, length, OptSizepresentProdProcs, data]]];
END;
EntryentryProd
EntryentryProdProcs:
PUBLIC EntryNodeProcs ←
NEW[EntryNodeProcsBody ← [EntryentryProdfoo]];
BuildEntryentryProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[EntryNode] =
BEGIN
RETURN[NEW[EntryNodeBody←[position, length, EntryentryProdProcs, NIL]]];
END;
EntryinternalProd
EntryinternalProdProcs:
PUBLIC EntryNodeProcs ←
NEW[EntryNodeProcsBody ← [EntryinternalProdfoo]];
BuildEntryinternalProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[EntryNode] =
BEGIN
RETURN[NEW[EntryNodeBody←[position, length, EntryinternalProdProcs, NIL]]];
END;
EntryemptyProd
EntryemptyProdProcs:
PUBLIC EntryNodeProcs ←
NEW[EntryNodeProcsBody ← [EntryemptyProdfoo]];
BuildEntryemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[EntryNode] =
BEGIN
RETURN[NEW[EntryNodeBody←[position, length, EntryemptyProdProcs, NIL]]];
END;
ExitListemptyProd
ExitListemptyProdProcs:
PUBLIC ExitListNodeProcs ←
NEW[ExitListNodeProcsBody ← [ExitListemptyProdfoo]];
BuildExitListemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[ExitListNode] =
BEGIN
RETURN[NEW[ExitListNodeBody←[position, length, ExitListemptyProdProcs, NIL]]];
END;
ExitListmoreProd
ExitListmoreProdProcs:
PUBLIC ExitListNodeProcs ←
NEW[ExitListNodeProcsBody ← [ExitListmoreProdfoo]];
BuildExitListmoreProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
ExitList: ExitListNode,
ExitItem: ExitItemNode]
RETURNS[ExitListNode] =
BEGIN
data: ExitListmoreProdData ←
NEW[ExitListmoreProdDataBody←[
ExitList, ExitItem]];
RETURN[NEW[ExitListNodeBody←[position, length, ExitListmoreProdProcs, data]]];
END;
ExitItemProd
ExitItemProdProcs:
PUBLIC ExitItemNodeProcs ←
NEW[ExitItemNodeProcsBody ← [ExitItemProdfoo]];
BuildExitItemProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
IdList: IdListNode,
Statement: StatementNode]
RETURNS[ExitItemNode] =
BEGIN
data: ExitItemProdData ←
NEW[ExitItemProdDataBody←[
IdList, Statement]];
RETURN[NEW[ExitItemNodeBody←[position, length, ExitItemProdProcs, data]]];
END;
BindListemptyProd
BindListemptyProdProcs:
PUBLIC BindListNodeProcs ←
NEW[BindListNodeProcsBody ← [BindListemptyProdfoo]];
BuildBindListemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[BindListNode] =
BEGIN
RETURN[NEW[BindListNodeBody←[position, length, BindListemptyProdProcs, NIL]]];
END;
BindListmoreProd
BindListmoreProdProcs:
PUBLIC BindListNodeProcs ←
NEW[BindListNodeProcsBody ← [BindListmoreProdfoo]];
BuildBindListmoreProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
BindList: BindListNode,
BindItem: BindItemNode]
RETURNS[BindListNode] =
BEGIN
data: BindListmoreProdData ←
NEW[BindListmoreProdDataBody←[
BindList, BindItem]];
RETURN[NEW[BindListNodeBody←[position, length, BindListmoreProdProcs, data]]];
END;
BindItemnamedProd
BindItemnamedProdProcs:
PUBLIC BindItemNodeProcs ←
NEW[BindItemNodeProcsBody ← [BindItemnamedProdfoo]];
BuildBindItemnamedProdNode:
PUBLIC
PROC[position:
INT, length:
INT, id: idNode,
Exp: ExpNode]
RETURNS[BindItemNode] =
BEGIN
data: BindItemnamedProdData ←
NEW[BindItemnamedProdDataBody←[
id, Exp]];
RETURN[NEW[BindItemNodeBody←[position, length, BindItemnamedProdProcs, data]]];
END;
BindItemunnamedProd
BindItemunnamedProdProcs:
PUBLIC BindItemNodeProcs ←
NEW[BindItemNodeProcsBody ← [BindItemunnamedProdfoo]];
BuildBindItemunnamedProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Exp: ExpNode]
RETURNS[BindItemNode] =
BEGIN
data: BindItemunnamedProdData ←
NEW[BindItemunnamedProdDataBody←[
Exp]];
RETURN[NEW[BindItemNodeBody←[position, length, BindItemunnamedProdProcs, data]]];
END;
ForClauseassignationProd
ForClauseassignationProdProcs:
PUBLIC ForClauseNodeProcs ←
NEW[ForClauseNodeProcsBody ← [ForClauseassignationProdfoo]];
BuildForClauseassignationProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
ControlId: ControlIdNode,
Expinitial: ExpNode,
Expnext: ExpNode]
RETURNS[ForClauseNode] =
BEGIN
data: ForClauseassignationProdData ←
NEW[ForClauseassignationProdDataBody←[
ControlId, Expinitial, Expnext]];
RETURN[NEW[ForClauseNodeBody←[position, length, ForClauseassignationProdProcs, data]]];
END;
ForClauseiterationProd
ForClauseiterationProdProcs:
PUBLIC ForClauseNodeProcs ←
NEW[ForClauseNodeProcsBody ← [ForClauseiterationProdfoo]];
BuildForClauseiterationProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
ControlId: ControlIdNode,
Decreasing: DecreasingNode,
Range: RangeNode]
RETURNS[ForClauseNode] =
BEGIN
data: ForClauseiterationProdData ←
NEW[ForClauseiterationProdDataBody←[
ControlId, Decreasing, Range]];
RETURN[NEW[ForClauseNodeBody←[position, length, ForClauseiterationProdProcs, data]]];
END;
ForClauserepetitionProd
ForClauserepetitionProdProcs:
PUBLIC ForClauseNodeProcs ←
NEW[ForClauseNodeProcsBody ← [ForClauserepetitionProdfoo]];
BuildForClauserepetitionProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Range: RangeNode]
RETURNS[ForClauseNode] =
BEGIN
data: ForClauserepetitionProdData ←
NEW[ForClauserepetitionProdDataBody←[
Range]];
RETURN[NEW[ForClauseNodeBody←[position, length, ForClauserepetitionProdProcs, data]]];
END;
ForClauseemptyProd
ForClauseemptyProdProcs:
PUBLIC ForClauseNodeProcs ←
NEW[ForClauseNodeProcsBody ← [ForClauseemptyProdfoo]];
BuildForClauseemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[ForClauseNode] =
BEGIN
RETURN[NEW[ForClauseNodeBody←[position, length, ForClauseemptyProdProcs, NIL]]];
END;
ControlIdnewProd
ControlIdnewProdProcs:
PUBLIC ControlIdNodeProcs ←
NEW[ControlIdNodeProcsBody ← [ControlIdnewProdfoo]];
BuildControlIdnewProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Ident: IdentNode,
TypeExp: TypeExpNode]
RETURNS[ControlIdNode] =
BEGIN
data: ControlIdnewProdData ←
NEW[ControlIdnewProdDataBody←[
Ident, TypeExp]];
RETURN[NEW[ControlIdNodeBody←[position, length, ControlIdnewProdProcs, data]]];
END;
ControlIdoldProd
ControlIdoldProdProcs:
PUBLIC ControlIdNodeProcs ←
NEW[ControlIdNodeProcsBody ← [ControlIdoldProdfoo]];
BuildControlIdoldProdNode:
PUBLIC
PROC[position:
INT, length:
INT, id: idNode]
RETURNS[ControlIdNode] =
BEGIN
data: ControlIdoldProdData ←
NEW[ControlIdoldProdDataBody←[
id]];
RETURN[NEW[ControlIdNodeBody←[position, length, ControlIdoldProdProcs, data]]];
END;
DecreasingyesProd
DecreasingyesProdProcs:
PUBLIC DecreasingNodeProcs ←
NEW[DecreasingNodeProcsBody ← [DecreasingyesProdfoo]];
BuildDecreasingyesProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[DecreasingNode] =
BEGIN
RETURN[NEW[DecreasingNodeBody←[position, length, DecreasingyesProdProcs, NIL]]];
END;
DecreasingnoProd
DecreasingnoProdProcs:
PUBLIC DecreasingNodeProcs ←
NEW[DecreasingNodeProcsBody ← [DecreasingnoProdfoo]];
BuildDecreasingnoProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[DecreasingNode] =
BEGIN
RETURN[NEW[DecreasingNodeBody←[position, length, DecreasingnoProdProcs, NIL]]];
END;
DoTestuntilProd
DoTestuntilProdProcs:
PUBLIC DoTestNodeProcs ←
NEW[DoTestNodeProcsBody ← [DoTestuntilProdfoo]];
BuildDoTestuntilProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Exp: ExpNode]
RETURNS[DoTestNode] =
BEGIN
data: DoTestuntilProdData ←
NEW[DoTestuntilProdDataBody←[
Exp]];
RETURN[NEW[DoTestNodeBody←[position, length, DoTestuntilProdProcs, data]]];
END;
DoTestwhileProd
DoTestwhileProdProcs:
PUBLIC DoTestNodeProcs ←
NEW[DoTestNodeProcsBody ← [DoTestwhileProdfoo]];
BuildDoTestwhileProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Exp: ExpNode]
RETURNS[DoTestNode] =
BEGIN
data: DoTestwhileProdData ←
NEW[DoTestwhileProdDataBody←[
Exp]];
RETURN[NEW[DoTestNodeBody←[position, length, DoTestwhileProdProcs, data]]];
END;
DoTestemptyProd
DoTestemptyProdProcs:
PUBLIC DoTestNodeProcs ←
NEW[DoTestNodeProcsBody ← [DoTestemptyProdfoo]];
BuildDoTestemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[DoTestNode] =
BEGIN
RETURN[NEW[DoTestNodeBody←[position, length, DoTestemptyProdProcs, NIL]]];
END;
DoExitProd
DoExitProdProcs:
PUBLIC DoExitNodeProcs ←
NEW[DoExitNodeProcsBody ← [DoExitProdfoo]];
BuildDoExitProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
ExitList: ExitListNode,
OptStatement: OptStatementNode]
RETURNS[DoExitNode] =
BEGIN
data: DoExitProdData ←
NEW[DoExitProdDataBody←[
ExitList, OptStatement]];
RETURN[NEW[DoExitNodeBody←[position, length, DoExitProdProcs, data]]];
END;
OptArgsexplistProd
OptArgsexplistProdProcs:
PUBLIC OptArgsNodeProcs ←
NEW[OptArgsNodeProcsBody ← [OptArgsexplistProdfoo]];
BuildOptArgsexplistProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
ExpList: ExpListNode]
RETURNS[OptArgsNode] =
BEGIN
data: OptArgsexplistProdData ←
NEW[OptArgsexplistProdDataBody←[
ExpList]];
RETURN[NEW[OptArgsNodeBody←[position, length, OptArgsexplistProdProcs, data]]];
END;
OptArgsexpProd
OptArgsexpProdProcs:
PUBLIC OptArgsNodeProcs ←
NEW[OptArgsNodeProcsBody ← [OptArgsexpProdfoo]];
BuildOptArgsexpProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Exp: ExpNode]
RETURNS[OptArgsNode] =
BEGIN
data: OptArgsexpProdData ←
NEW[OptArgsexpProdDataBody←[
Exp]];
RETURN[NEW[OptArgsNodeBody←[position, length, OptArgsexpProdProcs, data]]];
END;
OptArgsemptyProd
OptArgsemptyProdProcs:
PUBLIC OptArgsNodeProcs ←
NEW[OptArgsNodeProcsBody ← [OptArgsemptyProdfoo]];
BuildOptArgsemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[OptArgsNode] =
BEGIN
RETURN[NEW[OptArgsNodeBody←[position, length, OptArgsemptyProdProcs, NIL]]];
END;
TransfersignalProd
TransfersignalProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransfersignalProdfoo]];
BuildTransfersignalProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransfersignalProdProcs, NIL]]];
END;
TransfererrorProd
TransfererrorProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransfererrorProdfoo]];
BuildTransfererrorProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransfererrorProdProcs, NIL]]];
END;
TransferreturnwitherrorProd
TransferreturnwitherrorProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransferreturnwitherrorProdfoo]];
BuildTransferreturnwitherrorProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransferreturnwitherrorProdProcs, NIL]]];
END;
TransferstartProd
TransferstartProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransferstartProdfoo]];
BuildTransferstartProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransferstartProdProcs, NIL]]];
END;
TransferrestartProd
TransferrestartProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransferrestartProdfoo]];
BuildTransferrestartProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransferrestartProdProcs, NIL]]];
END;
TransferjoinProd
TransferjoinProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransferjoinProdfoo]];
BuildTransferjoinProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransferjoinProdProcs, NIL]]];
END;
TransfernotifyProd
TransfernotifyProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransfernotifyProdfoo]];
BuildTransfernotifyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransfernotifyProdProcs, NIL]]];
END;
TransferbroadcastProd
TransferbroadcastProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransferbroadcastProdfoo]];
BuildTransferbroadcastProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransferbroadcastProdProcs, NIL]]];
END;
TransfertransferwithProd
TransfertransferwithProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransfertransferwithProdfoo]];
BuildTransfertransferwithProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransfertransferwithProdProcs, NIL]]];
END;
TransferreturnwithProd
TransferreturnwithProdProcs:
PUBLIC TransferNodeProcs ←
NEW[TransferNodeProcsBody ← [TransferreturnwithProdfoo]];
BuildTransferreturnwithProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[TransferNode] =
BEGIN
RETURN[NEW[TransferNodeBody←[position, length, TransferreturnwithProdProcs, NIL]]];
END;
FreeplainProd
FreeplainProdProcs:
PUBLIC FreeNodeProcs ←
NEW[FreeNodeProcsBody ← [FreeplainProdfoo]];
BuildFreeplainProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[FreeNode] =
BEGIN
RETURN[NEW[FreeNodeBody←[position, length, FreeplainProdProcs, NIL]]];
END;
FreezonedProd
FreezonedProdProcs:
PUBLIC FreeNodeProcs ←
NEW[FreeNodeProcsBody ← [FreezonedProdfoo]];
BuildFreezonedProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Exp: ExpNode]
RETURNS[FreeNode] =
BEGIN
data: FreezonedProdData ←
NEW[FreezonedProdDataBody←[
Exp]];
RETURN[NEW[FreeNodeBody←[position, length, FreezonedProdProcs, data]]];
END;
END..