SaffronAG9Impl.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 10:51:25 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
SaffronAG9Def,
SaffronGenericDef,
SaffronATDef;
SaffronAG9Impl: CEDAR PROGRAM IMPORTS SaffronAG9Def EXPORTS SaffronAG9Def=
BEGIN
OPEN SaffronAG9Def, SaffronGenericDef, SaffronATDef;
ModulePimplProd
ModulePimplProdProcs:
PUBLIC ModulePNodeProcs ←
NEW[ModulePNodeProcsBody ← [ModulePimplProdfoo]];
BuildModulePimplProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Directory: DirectoryNode,
IdentList: IdentListNode,
Cedar: CedarNode,
ProgHead: ProgHeadNode,
Checked: CheckedNode,
Block: BlockNode]
RETURNS[ModulePNode] =
BEGIN
data: ModulePimplProdData ←
NEW[ModulePimplProdDataBody←[
Directory, IdentList, Cedar, ProgHead, Checked, Block]];
RETURN[NEW[ModulePNodeBody←[position, length, ModulePimplProdProcs, data]]];
END;
ModulePdefProd
ModulePdefProdProcs:
PUBLIC ModulePNodeProcs ←
NEW[ModulePNodeProcsBody ← [ModulePdefProdfoo]];
BuildModulePdefProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Directory: DirectoryNode,
IdentList: IdentListNode,
Cedar: CedarNode,
DefHead: DefHeadNode,
DefBody: DefBodyNode]
RETURNS[ModulePNode] =
BEGIN
data: ModulePdefProdData ←
NEW[ModulePdefProdDataBody←[
Directory, IdentList, Cedar, DefHead, DefBody]];
RETURN[NEW[ModulePNodeBody←[position, length, ModulePdefProdProcs, data]]];
END;
DirectoryemptyProd
DirectoryemptyProdProcs:
PUBLIC DirectoryNodeProcs ←
NEW[DirectoryNodeProcsBody ← [DirectoryemptyProdfoo]];
BuildDirectoryemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[DirectoryNode] =
BEGIN
RETURN[NEW[DirectoryNodeBody←[position, length, DirectoryemptyProdProcs, NIL]]];
END;
DirectorymoreProd
DirectorymoreProdProcs:
PUBLIC DirectoryNodeProcs ←
NEW[DirectoryNodeProcsBody ← [DirectorymoreProdfoo]];
BuildDirectorymoreProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Directory: DirectoryNode,
IncludeItem: IncludeItemNode]
RETURNS[DirectoryNode] =
BEGIN
data: DirectorymoreProdData ←
NEW[DirectorymoreProdDataBody←[
Directory, IncludeItem]];
RETURN[NEW[DirectoryNodeBody←[position, length, DirectorymoreProdProcs, data]]];
END;
IncludeItemfrompProd
IncludeItemfrompProdProcs:
PUBLIC IncludeItemNodeProcs ←
NEW[IncludeItemNodeProcsBody ← [IncludeItemfrompProdfoo]];
BuildIncludeItemfrompProdNode:
PUBLIC
PROC[position:
INT, length:
INT, id: idNode, string: stringNode,
Using: UsingNode]
RETURNS[IncludeItemNode] =
BEGIN
data: IncludeItemfrompProdData ←
NEW[IncludeItemfrompProdDataBody←[
id, string, Using]];
RETURN[NEW[IncludeItemNodeBody←[position, length, IncludeItemfrompProdProcs, data]]];
END;
IncludeItemtypeProd
IncludeItemtypeProdProcs:
PUBLIC IncludeItemNodeProcs ←
NEW[IncludeItemNodeProcsBody ← [IncludeItemtypeProdfoo]];
BuildIncludeItemtypeProdNode:
PUBLIC
PROC[position:
INT, length:
INT, id: idNode,
Using: UsingNode]
RETURNS[IncludeItemNode] =
BEGIN
data: IncludeItemtypeProdData ←
NEW[IncludeItemtypeProdDataBody←[
id, Using]];
RETURN[NEW[IncludeItemNodeBody←[position, length, IncludeItemtypeProdProcs, data]]];
END;
IncludeItemplainProd
IncludeItemplainProdProcs:
PUBLIC IncludeItemNodeProcs ←
NEW[IncludeItemNodeProcsBody ← [IncludeItemplainProdfoo]];
BuildIncludeItemplainProdNode:
PUBLIC
PROC[position:
INT, length:
INT, id: idNode,
Using: UsingNode]
RETURNS[IncludeItemNode] =
BEGIN
data: IncludeItemplainProdData ←
NEW[IncludeItemplainProdDataBody←[
id, Using]];
RETURN[NEW[IncludeItemNodeBody←[position, length, IncludeItemplainProdProcs, data]]];
END;
IncludeItemtypeandidProd
IncludeItemtypeandidProdProcs:
PUBLIC IncludeItemNodeProcs ←
NEW[IncludeItemNodeProcsBody ← [IncludeItemtypeandidProdfoo]];
BuildIncludeItemtypeandidProdNode:
PUBLIC
PROC[position:
INT, length:
INT, idlocal: idNode, idglobal: idNode,
Using: UsingNode]
RETURNS[IncludeItemNode] =
BEGIN
data: IncludeItemtypeandidProdData ←
NEW[IncludeItemtypeandidProdDataBody←[
idlocal, idglobal, Using]];
RETURN[NEW[IncludeItemNodeBody←[position, length, IncludeItemtypeandidProdProcs, data]]];
END;
UsingrestrictedProd
UsingrestrictedProdProcs:
PUBLIC UsingNodeProcs ←
NEW[UsingNodeProcsBody ← [UsingrestrictedProdfoo]];
BuildUsingrestrictedProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
IdList: IdListNode]
RETURNS[UsingNode] =
BEGIN
data: UsingrestrictedProdData ←
NEW[UsingrestrictedProdDataBody←[
IdList]];
RETURN[NEW[UsingNodeBody←[position, length, UsingrestrictedProdProcs, data]]];
END;
UsingnothingProd
UsingnothingProdProcs:
PUBLIC UsingNodeProcs ←
NEW[UsingNodeProcsBody ← [UsingnothingProdfoo]];
BuildUsingnothingProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[UsingNode] =
BEGIN
RETURN[NEW[UsingNodeBody←[position, length, UsingnothingProdProcs, NIL]]];
END;
UsingunrestrictedProd
UsingunrestrictedProdProcs:
PUBLIC UsingNodeProcs ←
NEW[UsingNodeProcsBody ← [UsingunrestrictedProdfoo]];
BuildUsingunrestrictedProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[UsingNode] =
BEGIN
RETURN[NEW[UsingNodeBody←[position, length, UsingunrestrictedProdProcs, NIL]]];
END;
DefBodyProd
DefBodyProdProcs:
PUBLIC DefBodyNodeProcs ←
NEW[DefBodyNodeProcsBody ← [DefBodyProdfoo]];
BuildDefBodyProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
BindList: BindListNode,
DecList: DecListNode]
RETURNS[DefBodyNode] =
BEGIN
data: DefBodyProdData ←
NEW[DefBodyProdDataBody←[
BindList, DecList]];
RETURN[NEW[DefBodyNodeBody←[position, length, DefBodyProdProcs, data]]];
END;
DefHeadProd
DefHeadProdProcs:
PUBLIC DefHeadNodeProcs ←
NEW[DefHeadNodeProcsBody ← [DefHeadProdfoo]];
BuildDefHeadProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Locks: LocksNode,
ModuleList: ModuleListNode,
Shares: SharesNode,
Access: AccessNode]
RETURNS[DefHeadNode] =
BEGIN
data: DefHeadProdData ←
NEW[DefHeadProdDataBody←[
Locks, ModuleList, Shares, Access]];
RETURN[NEW[DefHeadNodeBody←[position, length, DefHeadProdProcs, data]]];
END;
CedaryesProd
CedaryesProdProcs:
PUBLIC CedarNodeProcs ←
NEW[CedarNodeProcsBody ← [CedaryesProdfoo]];
BuildCedaryesProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[CedarNode] =
BEGIN
RETURN[NEW[CedarNodeBody←[position, length, CedaryesProdProcs, NIL]]];
END;
CedarnoProd
CedarnoProdProcs:
PUBLIC CedarNodeProcs ←
NEW[CedarNodeProcsBody ← [CedarnoProdfoo]];
BuildCedarnoProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[CedarNode] =
BEGIN
RETURN[NEW[CedarNodeBody←[position, length, CedarnoProdProcs, NIL]]];
END;
ProgHeadProd
ProgHeadProdProcs:
PUBLIC ProgHeadNodeProcs ←
NEW[ProgHeadNodeProcsBody ← [ProgHeadProdfoo]];
BuildProgHeadProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Safe: SafeNode,
Class: ClassNode,
Arguments: ArgumentsNode,
Locks: LocksNode,
Interface: InterfaceNode,
Access: AccessNode]
RETURNS[ProgHeadNode] =
BEGIN
data: ProgHeadProdData ←
NEW[ProgHeadProdDataBody←[
Safe, Class, Arguments, Locks, Interface, Access]];
RETURN[NEW[ProgHeadNodeBody←[position, length, ProgHeadProdProcs, data]]];
END;
ClassprogramProd
ClassprogramProdProcs:
PUBLIC ClassNodeProcs ←
NEW[ClassNodeProcsBody ← [ClassprogramProdfoo]];
BuildClassprogramProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[ClassNode] =
BEGIN
RETURN[NEW[ClassNodeBody←[position, length, ClassprogramProdProcs, NIL]]];
END;
ClassmonitorProd
ClassmonitorProdProcs:
PUBLIC ClassNodeProcs ←
NEW[ClassNodeProcsBody ← [ClassmonitorProdfoo]];
BuildClassmonitorProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[ClassNode] =
BEGIN
RETURN[NEW[ClassNodeBody←[position, length, ClassmonitorProdProcs, NIL]]];
END;
InterfaceProd
InterfaceProdProcs:
PUBLIC InterfaceNodeProcs ←
NEW[InterfaceNodeProcsBody ← [InterfaceProdfoo]];
BuildInterfaceProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
ModuleListimports: ModuleListNode,
ModuleListexports: ModuleListNode,
Shares: SharesNode]
RETURNS[InterfaceNode] =
BEGIN
data: InterfaceProdData ←
NEW[InterfaceProdDataBody←[
ModuleListimports, ModuleListexports, Shares]];
RETURN[NEW[InterfaceNodeBody←[position, length, InterfaceProdProcs, data]]];
END;
ModuleListemptyProd
ModuleListemptyProdProcs:
PUBLIC ModuleListNodeProcs ←
NEW[ModuleListNodeProcsBody ← [ModuleListemptyProdfoo]];
BuildModuleListemptyProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[ModuleListNode] =
BEGIN
RETURN[NEW[ModuleListNodeBody←[position, length, ModuleListemptyProdProcs, NIL]]];
END;
ModuleListmoreProd
ModuleListmoreProdProcs:
PUBLIC ModuleListNodeProcs ←
NEW[ModuleListNodeProcsBody ← [ModuleListmoreProdfoo]];
BuildModuleListmoreProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
ModuleList: ModuleListNode,
ModuleItem: ModuleItemNode]
RETURNS[ModuleListNode] =
BEGIN
data: ModuleListmoreProdData ←
NEW[ModuleListmoreProdDataBody←[
ModuleList, ModuleItem]];
RETURN[NEW[ModuleListNodeBody←[position, length, ModuleListmoreProdProcs, data]]];
END;
ModuleItemoneProd
ModuleItemoneProdProcs:
PUBLIC ModuleItemNodeProcs ←
NEW[ModuleItemNodeProcsBody ← [ModuleItemoneProdfoo]];
BuildModuleItemoneProdNode:
PUBLIC
PROC[position:
INT, length:
INT, id: idNode]
RETURNS[ModuleItemNode] =
BEGIN
data: ModuleItemoneProdData ←
NEW[ModuleItemoneProdDataBody←[
id]];
RETURN[NEW[ModuleItemNodeBody←[position, length, ModuleItemoneProdProcs, data]]];
END;
ModuleItemtwoProd
ModuleItemtwoProdProcs:
PUBLIC ModuleItemNodeProcs ←
NEW[ModuleItemNodeProcsBody ← [ModuleItemtwoProdfoo]];
BuildModuleItemtwoProdNode:
PUBLIC
PROC[position:
INT, length:
INT, idrecord: idNode, idtype: idNode]
RETURNS[ModuleItemNode] =
BEGIN
data: ModuleItemtwoProdData ←
NEW[ModuleItemtwoProdDataBody←[
idrecord, idtype]];
RETURN[NEW[ModuleItemNodeBody←[position, length, ModuleItemtwoProdProcs, data]]];
END;
SharesabsentProd
SharesabsentProdProcs:
PUBLIC SharesNodeProcs ←
NEW[SharesNodeProcsBody ← [SharesabsentProdfoo]];
BuildSharesabsentProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[SharesNode] =
BEGIN
RETURN[NEW[SharesNodeBody←[position, length, SharesabsentProdProcs, NIL]]];
END;
SharespresentProd
SharespresentProdProcs:
PUBLIC SharesNodeProcs ←
NEW[SharesNodeProcsBody ← [SharespresentProdfoo]];
BuildSharespresentProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
IdList: IdListNode]
RETURNS[SharesNode] =
BEGIN
data: SharespresentProdData ←
NEW[SharespresentProdDataBody←[
IdList]];
RETURN[NEW[SharesNodeBody←[position, length, SharespresentProdProcs, data]]];
END;
LocksabsentProd
LocksabsentProdProcs:
PUBLIC LocksNodeProcs ←
NEW[LocksNodeProcsBody ← [LocksabsentProdfoo]];
BuildLocksabsentProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[LocksNode] =
BEGIN
RETURN[NEW[LocksNodeBody←[position, length, LocksabsentProdProcs, NIL]]];
END;
LockspresentProd
LockspresentProdProcs:
PUBLIC LocksNodeProcs ←
NEW[LocksNodeProcsBody ← [LockspresentProdfoo]];
BuildLockspresentProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Exp: ExpNode,
Lambda: LambdaNode]
RETURNS[LocksNode] =
BEGIN
data: LockspresentProdData ←
NEW[LockspresentProdDataBody←[
Exp, Lambda]];
RETURN[NEW[LocksNodeBody←[position, length, LockspresentProdProcs, data]]];
END;
LambdaabsentProd
LambdaabsentProdProcs:
PUBLIC LambdaNodeProcs ←
NEW[LambdaNodeProcsBody ← [LambdaabsentProdfoo]];
BuildLambdaabsentProdNode:
PUBLIC
PROC[position:
INT, length:
INT]
RETURNS[LambdaNode] =
BEGIN
RETURN[NEW[LambdaNodeBody←[position, length, LambdaabsentProdProcs, NIL]]];
END;
LambdapresentProd
LambdapresentProdProcs:
PUBLIC LambdaNodeProcs ←
NEW[LambdaNodeProcsBody ← [LambdapresentProdfoo]];
BuildLambdapresentProdNode:
PUBLIC
PROC[position:
INT, length:
INT,
Ident: IdentNode,
TypeExp: TypeExpNode]
RETURNS[LambdaNode] =
BEGIN
data: LambdapresentProdData ←
NEW[LambdapresentProdDataBody←[
Ident, TypeExp]];
RETURN[NEW[LambdaNodeBody←[position, length, LambdapresentProdProcs, data]]];
END;
END..