SaffronAG4Impl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 10:51:16 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
SaffronAG4Def,
SaffronGenericDef,
SaffronATDef;
SaffronAG4Impl: CEDAR PROGRAM IMPORTS SaffronAG4Def EXPORTS SaffronAG4Def=
BEGIN
OPEN SaffronAG4Def, SaffronGenericDef, SaffronATDef;
StatementifthenProd
StatementifthenProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementifthenProdfoo]];
BuildStatementifthenProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode, Statement: StatementNode]
RETURNS[StatementNode] =
BEGIN
data: StatementifthenProdData ←
NEW[StatementifthenProdDataBody←[
Exp, Statement]];
RETURN[NEW[StatementNodeBody←[position, length, StatementifthenProdProcs, data]]];
END;
StatementifthenelseProd
StatementifthenelseProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementifthenelseProdfoo]];
BuildStatementifthenelseProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode, Statementthenpart: StatementNode, Statementelsepart: StatementNode]
RETURNS[StatementNode] =
BEGIN
data: StatementifthenelseProdData ←
NEW[StatementifthenelseProdDataBody←[
Exp, Statementthenpart, Statementelsepart]];
RETURN[NEW[StatementNodeBody←[position, length, StatementifthenelseProdProcs, data]]];
END;
StatementselectProd
StatementselectProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementselectProdfoo]];
BuildStatementselectProdNode: PUBLIC PROC[position: INT, length: INT, SelectHead: SelectHeadNode, SelectStmtList: SelectStmtListNode, OptStatement: OptStatementNode]
RETURNS[StatementNode] =
BEGIN
data: StatementselectProdData ←
NEW[StatementselectProdDataBody←[
SelectHead, SelectStmtList, OptStatement]];
RETURN[NEW[StatementNodeBody←[position, length, StatementselectProdProcs, data]]];
END;
StatementexpProd
StatementexpProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementexpProdfoo]];
BuildStatementexpProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[StatementNode] =
BEGIN
data: StatementexpProdData ←
NEW[StatementexpProdDataBody←[
Exp]];
RETURN[NEW[StatementNodeBody←[position, length, StatementexpProdProcs, data]]];
END;
StatementassignProd
StatementassignProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementassignProdfoo]];
BuildStatementassignProdNode: PUBLIC PROC[position: INT, length: INT, Explhs: ExpNode, Exprhs: ExpNode]
RETURNS[StatementNode] =
BEGIN
data: StatementassignProdData ←
NEW[StatementassignProdDataBody←[
Explhs, Exprhs]];
RETURN[NEW[StatementNodeBody←[position, length, StatementassignProdProcs, data]]];
END;
StatementmultiassignProd
StatementmultiassignProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementmultiassignProdfoo]];
BuildStatementmultiassignProdNode: PUBLIC PROC[position: INT, length: INT, ExpList: ExpListNode, Exp: ExpNode]
RETURNS[StatementNode] =
BEGIN
data: StatementmultiassignProdData ←
NEW[StatementmultiassignProdDataBody←[
ExpList, Exp]];
RETURN[NEW[StatementNodeBody←[position, length, StatementmultiassignProdProcs, data]]];
END;
StatementblockProd
StatementblockProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementblockProdfoo]];
BuildStatementblockProdNode: PUBLIC PROC[position: INT, length: INT, Checked: CheckedNode, Block: BlockNode]
RETURNS[StatementNode] =
BEGIN
data: StatementblockProdData ←
NEW[StatementblockProdDataBody←[
Checked, Block]];
RETURN[NEW[StatementNodeBody←[position, length, StatementblockProdProcs, data]]];
END;
StatementloopcontrolProd
StatementloopcontrolProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementloopcontrolProdfoo]];
BuildStatementloopcontrolProdNode: PUBLIC PROC[position: INT, length: INT, ForClause: ForClauseNode, DoTest: DoTestNode, Scope: ScopeNode, DoExit: DoExitNode]
RETURNS[StatementNode] =
BEGIN
data: StatementloopcontrolProdData ←
NEW[StatementloopcontrolProdDataBody←[
ForClause, DoTest, Scope, DoExit]];
RETURN[NEW[StatementNodeBody←[position, length, StatementloopcontrolProdProcs, data]]];
END;
StatementexitProd
StatementexitProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementexitProdfoo]];
BuildStatementexitProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementexitProdProcs, NIL]]];
END;
StatementloopProd
StatementloopProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementloopProdfoo]];
BuildStatementloopProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementloopProdProcs, NIL]]];
END;
StatementgotoProd
StatementgotoProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementgotoProdfoo]];
BuildStatementgotoProdNode: PUBLIC PROC[position: INT, length: INT, id: idNode]
RETURNS[StatementNode] =
BEGIN
data: StatementgotoProdData ←
NEW[StatementgotoProdDataBody←[
id]];
RETURN[NEW[StatementNodeBody←[position, length, StatementgotoProdProcs, data]]];
END;
StatementreturnProd
StatementreturnProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementreturnProdfoo]];
BuildStatementreturnProdNode: PUBLIC PROC[position: INT, length: INT, OptArgs: OptArgsNode]
RETURNS[StatementNode] =
BEGIN
data: StatementreturnProdData ←
NEW[StatementreturnProdDataBody←[
OptArgs]];
RETURN[NEW[StatementNodeBody←[position, length, StatementreturnProdProcs, data]]];
END;
StatementtransferProd
StatementtransferProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementtransferProdfoo]];
BuildStatementtransferProdNode: PUBLIC PROC[position: INT, length: INT, Transfer: TransferNode, Exp: ExpNode]
RETURNS[StatementNode] =
BEGIN
data: StatementtransferProdData ←
NEW[StatementtransferProdDataBody←[
Transfer, Exp]];
RETURN[NEW[StatementNodeBody←[position, length, StatementtransferProdProcs, data]]];
END;
StatementfreeProd
StatementfreeProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementfreeProdfoo]];
BuildStatementfreeProdNode: PUBLIC PROC[position: INT, length: INT, Free: FreeNode, Exp: ExpNode, Catch: CatchNode]
RETURNS[StatementNode] =
BEGIN
data: StatementfreeProdData ←
NEW[StatementfreeProdDataBody←[
Free, Exp, Catch]];
RETURN[NEW[StatementNodeBody←[position, length, StatementfreeProdProcs, data]]];
END;
StatementwaitProd
StatementwaitProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementwaitProdfoo]];
BuildStatementwaitProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[StatementNode] =
BEGIN
data: StatementwaitProdData ←
NEW[StatementwaitProdDataBody←[
Exp]];
RETURN[NEW[StatementNodeBody←[position, length, StatementwaitProdProcs, data]]];
END;
StatementerrorProd
StatementerrorProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementerrorProdfoo]];
BuildStatementerrorProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementerrorProdProcs, NIL]]];
END;
StatementstopProd
StatementstopProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementstopProdfoo]];
BuildStatementstopProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementstopProdProcs, NIL]]];
END;
StatementnullProd
StatementnullProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementnullProdfoo]];
BuildStatementnullProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementnullProdProcs, NIL]]];
END;
StatementresumeProd
StatementresumeProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementresumeProdfoo]];
BuildStatementresumeProdNode: PUBLIC PROC[position: INT, length: INT, OptArgs: OptArgsNode]
RETURNS[StatementNode] =
BEGIN
data: StatementresumeProdData ←
NEW[StatementresumeProdDataBody←[
OptArgs]];
RETURN[NEW[StatementNodeBody←[position, length, StatementresumeProdProcs, data]]];
END;
StatementrejectProd
StatementrejectProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementrejectProdfoo]];
BuildStatementrejectProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementrejectProdProcs, NIL]]];
END;
StatementcontinueProd
StatementcontinueProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementcontinueProdfoo]];
BuildStatementcontinueProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementcontinueProdProcs, NIL]]];
END;
StatementretryProd
StatementretryProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementretryProdfoo]];
BuildStatementretryProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementNode] =
BEGIN
RETURN[NEW[StatementNodeBody←[position, length, StatementretryProdProcs, NIL]]];
END;
StatementgetstateProd
StatementgetstateProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementgetstateProdfoo]];
BuildStatementgetstateProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[StatementNode] =
BEGIN
data: StatementgetstateProdData ←
NEW[StatementgetstateProdDataBody←[
Exp]];
RETURN[NEW[StatementNodeBody←[position, length, StatementgetstateProdProcs, data]]];
END;
StatementsetstateProd
StatementsetstateProdProcs: PUBLIC StatementNodeProcs ←
NEW[StatementNodeProcsBody ← [StatementsetstateProdfoo]];
BuildStatementsetstateProdNode: PUBLIC PROC[position: INT, length: INT, Exp: ExpNode]
RETURNS[StatementNode] =
BEGIN
data: StatementsetstateProdData ←
NEW[StatementsetstateProdDataBody←[
Exp]];
RETURN[NEW[StatementNodeBody←[position, length, StatementsetstateProdProcs, data]]];
END;
OptStatementabsentProd
OptStatementabsentProdProcs: PUBLIC OptStatementNodeProcs ←
NEW[OptStatementNodeProcsBody ← [OptStatementabsentProdfoo]];
BuildOptStatementabsentProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[OptStatementNode] =
BEGIN
RETURN[NEW[OptStatementNodeBody←[position, length, OptStatementabsentProdProcs, NIL]]];
END;
OptStatementpresentProd
OptStatementpresentProdProcs: PUBLIC OptStatementNodeProcs ←
NEW[OptStatementNodeProcsBody ← [OptStatementpresentProdfoo]];
BuildOptStatementpresentProdNode: PUBLIC PROC[position: INT, length: INT, Statement: StatementNode]
RETURNS[OptStatementNode] =
BEGIN
data: OptStatementpresentProdData ←
NEW[OptStatementpresentProdDataBody←[
Statement]];
RETURN[NEW[OptStatementNodeBody←[position, length, OptStatementpresentProdProcs, data]]];
END;
SelectStmtListemptyProd
SelectStmtListemptyProdProcs: PUBLIC SelectStmtListNodeProcs ←
NEW[SelectStmtListNodeProcsBody ← [SelectStmtListemptyProdfoo]];
BuildSelectStmtListemptyProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[SelectStmtListNode] =
BEGIN
RETURN[NEW[SelectStmtListNodeBody←[position, length, SelectStmtListemptyProdProcs, NIL]]];
END;
SelectStmtListmoreProd
SelectStmtListmoreProdProcs: PUBLIC SelectStmtListNodeProcs ←
NEW[SelectStmtListNodeProcsBody ← [SelectStmtListmoreProdfoo]];
BuildSelectStmtListmoreProdNode: PUBLIC PROC[position: INT, length: INT, SelectStmtList: SelectStmtListNode, SelectStmtItem: SelectStmtItemNode]
RETURNS[SelectStmtListNode] =
BEGIN
data: SelectStmtListmoreProdData ←
NEW[SelectStmtListmoreProdDataBody←[
SelectStmtList, SelectStmtItem]];
RETURN[NEW[SelectStmtListNodeBody←[position, length, SelectStmtListmoreProdProcs, data]]];
END;
SelectStmtItemProd
SelectStmtItemProdProcs: PUBLIC SelectStmtItemNodeProcs ←
NEW[SelectStmtItemNodeProcsBody ← [SelectStmtItemProdfoo]];
BuildSelectStmtItemProdNode: PUBLIC PROC[position: INT, length: INT, SelectLabel: SelectLabelNode, Statement: StatementNode]
RETURNS[SelectStmtItemNode] =
BEGIN
data: SelectStmtItemProdData ←
NEW[SelectStmtItemProdDataBody←[
SelectLabel, Statement]];
RETURN[NEW[SelectStmtItemNodeBody←[position, length, SelectStmtItemProdProcs, data]]];
END;
BlockProd
BlockProdProcs: PUBLIC BlockNodeProcs ←
NEW[BlockNodeProcsBody ← [BlockProdfoo]];
BuildBlockProdNode: PUBLIC PROC[position: INT, length: INT, Scope: ScopeNode, ExitList: ExitListNode]
RETURNS[BlockNode] =
BEGIN
data: BlockProdData ←
NEW[BlockProdDataBody←[
Scope, ExitList]];
RETURN[NEW[BlockNodeBody←[position, length, BlockProdProcs, data]]];
END;
ScopeProd
ScopeProdProcs: PUBLIC ScopeNodeProcs ←
NEW[ScopeNodeProcsBody ← [ScopeProdfoo, ScopeProdNewScope]];
BuildScopeProdNode: PUBLIC PROC[position: INT, length: INT, BindList: BindListNode, Catch: CatchNode, OptDecList: OptDecListNode, StatementList: StatementListNode]
RETURNS[ScopeNode] =
BEGIN
data: ScopeProdData ←
NEW[ScopeProdDataBody←[
BindList, Catch, OptDecList, StatementList]];
RETURN[NEW[ScopeNodeBody←[position, length, ScopeProdProcs, data]]];
END;
OptDecListabsentProd
OptDecListabsentProdProcs: PUBLIC OptDecListNodeProcs ←
NEW[OptDecListNodeProcsBody ← [OptDecListabsentProdfoo, OptDecListabsentProdPreprocessDecls, OptDecListabsentProdProcessDecls]];
BuildOptDecListabsentProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[OptDecListNode] =
BEGIN
RETURN[NEW[OptDecListNodeBody←[position, length, OptDecListabsentProdProcs, NIL]]];
END;
OptDecListpresentProd
OptDecListpresentProdProcs: PUBLIC OptDecListNodeProcs ←
NEW[OptDecListNodeProcsBody ← [OptDecListpresentProdfoo, OptDecListpresentProdPreprocessDecls, OptDecListpresentProdProcessDecls]];
BuildOptDecListpresentProdNode: PUBLIC PROC[position: INT, length: INT, DecList: DecListNode]
RETURNS[OptDecListNode] =
BEGIN
data: OptDecListpresentProdData ←
NEW[OptDecListpresentProdDataBody←[
DecList]];
RETURN[NEW[OptDecListNodeBody←[position, length, OptDecListpresentProdProcs, data]]];
END;
StatementListemptyProd
StatementListemptyProdProcs: PUBLIC StatementListNodeProcs ←
NEW[StatementListNodeProcsBody ← [StatementListemptyProdfoo]];
BuildStatementListemptyProdNode: PUBLIC PROC[position: INT, length: INT]
RETURNS[StatementListNode] =
BEGIN
RETURN[NEW[StatementListNodeBody←[position, length, StatementListemptyProdProcs, NIL]]];
END;
StatementListmoreProd
StatementListmoreProdProcs: PUBLIC StatementListNodeProcs ←
NEW[StatementListNodeProcsBody ← [StatementListmoreProdfoo]];
BuildStatementListmoreProdNode: PUBLIC PROC[position: INT, length: INT, StatementList: StatementListNode, Statement: StatementNode]
RETURNS[StatementListNode] =
BEGIN
data: StatementListmoreProdData ←
NEW[StatementListmoreProdDataBody←[
StatementList, Statement]];
RETURN[NEW[StatementListNodeBody←[position, length, StatementListmoreProdProcs, data]]];
END;
END..