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