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..