SaffronAG9Def.mesa
Copyright Ó 1987 by Xerox Corporation. All rights reserved.
Generated by BJackson.pa at April 27, 1987 10:51:26 pm PDT
using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT
DIRECTORY
SaffronTreeBucketDef,
SaffronGenericDef,
SaffronATDef;
SaffronAG9Def: CEDAR DEFINITIONS =
BEGIN
OPEN SaffronTreeBucketDef, SaffronGenericDef, SaffronATDef;
ModulePimplProd
ModulePimplProdData: TYPE = REF ModulePimplProdDataBody;
ModulePimplProdDataBody: TYPE = RECORD[
Directory: DirectoryNode, IdentList: IdentListNode, Cedar: CedarNode, ProgHead: ProgHeadNode, Checked: CheckedNode, Block: BlockNode];
ModulePimplProdProcs: ModulePNodeProcs;
BuildModulePimplProdNode: PROC[position: INT, length: INT, Directory: DirectoryNode, IdentList: IdentListNode, Cedar: CedarNode, ProgHead: ProgHeadNode, Checked: CheckedNode, Block: BlockNode]
RETURNS[ModulePNode];
ModulePimplProdfoo: fooProcType;
ModulePdefProd
ModulePdefProdData: TYPE = REF ModulePdefProdDataBody;
ModulePdefProdDataBody: TYPE = RECORD[
Directory: DirectoryNode, IdentList: IdentListNode, Cedar: CedarNode, DefHead: DefHeadNode, DefBody: DefBodyNode];
ModulePdefProdProcs: ModulePNodeProcs;
BuildModulePdefProdNode: PROC[position: INT, length: INT, Directory: DirectoryNode, IdentList: IdentListNode, Cedar: CedarNode, DefHead: DefHeadNode, DefBody: DefBodyNode]
RETURNS[ModulePNode];
ModulePdefProdfoo: fooProcType;
DirectoryemptyProd
DirectoryemptyProdData: TYPE = REF DirectoryemptyProdDataBody;
DirectoryemptyProdDataBody: TYPE = RECORD[
];
DirectoryemptyProdProcs: DirectoryNodeProcs;
BuildDirectoryemptyProdNode: PROC[position: INT, length: INT]
RETURNS[DirectoryNode];
DirectoryemptyProdfoo: fooProcType;
DirectorymoreProd
DirectorymoreProdData: TYPE = REF DirectorymoreProdDataBody;
DirectorymoreProdDataBody: TYPE = RECORD[
Directory: DirectoryNode, IncludeItem: IncludeItemNode];
DirectorymoreProdProcs: DirectoryNodeProcs;
BuildDirectorymoreProdNode: PROC[position: INT, length: INT, Directory: DirectoryNode, IncludeItem: IncludeItemNode]
RETURNS[DirectoryNode];
DirectorymoreProdfoo: fooProcType;
IncludeItemfrompProd
IncludeItemfrompProdData: TYPE = REF IncludeItemfrompProdDataBody;
IncludeItemfrompProdDataBody: TYPE = RECORD[
id: idNode, string: stringNode, Using: UsingNode];
IncludeItemfrompProdProcs: IncludeItemNodeProcs;
BuildIncludeItemfrompProdNode: PROC[position: INT, length: INT, id: idNode, string: stringNode, Using: UsingNode]
RETURNS[IncludeItemNode];
IncludeItemfrompProdfoo: fooProcType;
IncludeItemtypeProd
IncludeItemtypeProdData: TYPE = REF IncludeItemtypeProdDataBody;
IncludeItemtypeProdDataBody: TYPE = RECORD[
id: idNode, Using: UsingNode];
IncludeItemtypeProdProcs: IncludeItemNodeProcs;
BuildIncludeItemtypeProdNode: PROC[position: INT, length: INT, id: idNode, Using: UsingNode]
RETURNS[IncludeItemNode];
IncludeItemtypeProdfoo: fooProcType;
IncludeItemplainProd
IncludeItemplainProdData: TYPE = REF IncludeItemplainProdDataBody;
IncludeItemplainProdDataBody: TYPE = RECORD[
id: idNode, Using: UsingNode];
IncludeItemplainProdProcs: IncludeItemNodeProcs;
BuildIncludeItemplainProdNode: PROC[position: INT, length: INT, id: idNode, Using: UsingNode]
RETURNS[IncludeItemNode];
IncludeItemplainProdfoo: fooProcType;
IncludeItemtypeandidProd
IncludeItemtypeandidProdData: TYPE = REF IncludeItemtypeandidProdDataBody;
IncludeItemtypeandidProdDataBody: TYPE = RECORD[
idlocal: idNode, idglobal: idNode, Using: UsingNode];
IncludeItemtypeandidProdProcs: IncludeItemNodeProcs;
BuildIncludeItemtypeandidProdNode: PROC[position: INT, length: INT, idlocal: idNode, idglobal: idNode, Using: UsingNode]
RETURNS[IncludeItemNode];
IncludeItemtypeandidProdfoo: fooProcType;
UsingrestrictedProd
UsingrestrictedProdData: TYPE = REF UsingrestrictedProdDataBody;
UsingrestrictedProdDataBody: TYPE = RECORD[
IdList: IdListNode];
UsingrestrictedProdProcs: UsingNodeProcs;
BuildUsingrestrictedProdNode: PROC[position: INT, length: INT, IdList: IdListNode]
RETURNS[UsingNode];
UsingrestrictedProdfoo: fooProcType;
UsingnothingProd
UsingnothingProdData: TYPE = REF UsingnothingProdDataBody;
UsingnothingProdDataBody: TYPE = RECORD[
];
UsingnothingProdProcs: UsingNodeProcs;
BuildUsingnothingProdNode: PROC[position: INT, length: INT]
RETURNS[UsingNode];
UsingnothingProdfoo: fooProcType;
UsingunrestrictedProd
UsingunrestrictedProdData: TYPE = REF UsingunrestrictedProdDataBody;
UsingunrestrictedProdDataBody: TYPE = RECORD[
];
UsingunrestrictedProdProcs: UsingNodeProcs;
BuildUsingunrestrictedProdNode: PROC[position: INT, length: INT]
RETURNS[UsingNode];
UsingunrestrictedProdfoo: fooProcType;
DefBodyProd
DefBodyProdData: TYPE = REF DefBodyProdDataBody;
DefBodyProdDataBody: TYPE = RECORD[
BindList: BindListNode, DecList: DecListNode];
DefBodyProdProcs: DefBodyNodeProcs;
BuildDefBodyProdNode: PROC[position: INT, length: INT, BindList: BindListNode, DecList: DecListNode]
RETURNS[DefBodyNode];
DefBodyProdfoo: fooProcType;
DefHeadProd
DefHeadProdData: TYPE = REF DefHeadProdDataBody;
DefHeadProdDataBody: TYPE = RECORD[
Locks: LocksNode, ModuleList: ModuleListNode, Shares: SharesNode, Access: AccessNode];
DefHeadProdProcs: DefHeadNodeProcs;
BuildDefHeadProdNode: PROC[position: INT, length: INT, Locks: LocksNode, ModuleList: ModuleListNode, Shares: SharesNode, Access: AccessNode]
RETURNS[DefHeadNode];
DefHeadProdfoo: fooProcType;
CedaryesProd
CedaryesProdData: TYPE = REF CedaryesProdDataBody;
CedaryesProdDataBody: TYPE = RECORD[
];
CedaryesProdProcs: CedarNodeProcs;
BuildCedaryesProdNode: PROC[position: INT, length: INT]
RETURNS[CedarNode];
CedaryesProdfoo: fooProcType;
CedarnoProd
CedarnoProdData: TYPE = REF CedarnoProdDataBody;
CedarnoProdDataBody: TYPE = RECORD[
];
CedarnoProdProcs: CedarNodeProcs;
BuildCedarnoProdNode: PROC[position: INT, length: INT]
RETURNS[CedarNode];
CedarnoProdfoo: fooProcType;
ProgHeadProd
ProgHeadProdData: TYPE = REF ProgHeadProdDataBody;
ProgHeadProdDataBody: TYPE = RECORD[
Safe: SafeNode, Class: ClassNode, Arguments: ArgumentsNode, Locks: LocksNode, Interface: InterfaceNode, Access: AccessNode];
ProgHeadProdProcs: ProgHeadNodeProcs;
BuildProgHeadProdNode: PROC[position: INT, length: INT, Safe: SafeNode, Class: ClassNode, Arguments: ArgumentsNode, Locks: LocksNode, Interface: InterfaceNode, Access: AccessNode]
RETURNS[ProgHeadNode];
ProgHeadProdfoo: fooProcType;
ClassprogramProd
ClassprogramProdData: TYPE = REF ClassprogramProdDataBody;
ClassprogramProdDataBody: TYPE = RECORD[
];
ClassprogramProdProcs: ClassNodeProcs;
BuildClassprogramProdNode: PROC[position: INT, length: INT]
RETURNS[ClassNode];
ClassprogramProdfoo: fooProcType;
ClassmonitorProd
ClassmonitorProdData: TYPE = REF ClassmonitorProdDataBody;
ClassmonitorProdDataBody: TYPE = RECORD[
];
ClassmonitorProdProcs: ClassNodeProcs;
BuildClassmonitorProdNode: PROC[position: INT, length: INT]
RETURNS[ClassNode];
ClassmonitorProdfoo: fooProcType;
InterfaceProd
InterfaceProdData: TYPE = REF InterfaceProdDataBody;
InterfaceProdDataBody: TYPE = RECORD[
ModuleListimports: ModuleListNode, ModuleListexports: ModuleListNode, Shares: SharesNode];
InterfaceProdProcs: InterfaceNodeProcs;
BuildInterfaceProdNode: PROC[position: INT, length: INT, ModuleListimports: ModuleListNode, ModuleListexports: ModuleListNode, Shares: SharesNode]
RETURNS[InterfaceNode];
InterfaceProdfoo: fooProcType;
ModuleListemptyProd
ModuleListemptyProdData: TYPE = REF ModuleListemptyProdDataBody;
ModuleListemptyProdDataBody: TYPE = RECORD[
];
ModuleListemptyProdProcs: ModuleListNodeProcs;
BuildModuleListemptyProdNode: PROC[position: INT, length: INT]
RETURNS[ModuleListNode];
ModuleListemptyProdfoo: fooProcType;
ModuleListmoreProd
ModuleListmoreProdData: TYPE = REF ModuleListmoreProdDataBody;
ModuleListmoreProdDataBody: TYPE = RECORD[
ModuleList: ModuleListNode, ModuleItem: ModuleItemNode];
ModuleListmoreProdProcs: ModuleListNodeProcs;
BuildModuleListmoreProdNode: PROC[position: INT, length: INT, ModuleList: ModuleListNode, ModuleItem: ModuleItemNode]
RETURNS[ModuleListNode];
ModuleListmoreProdfoo: fooProcType;
ModuleItemoneProd
ModuleItemoneProdData: TYPE = REF ModuleItemoneProdDataBody;
ModuleItemoneProdDataBody: TYPE = RECORD[
id: idNode];
ModuleItemoneProdProcs: ModuleItemNodeProcs;
BuildModuleItemoneProdNode: PROC[position: INT, length: INT, id: idNode]
RETURNS[ModuleItemNode];
ModuleItemoneProdfoo: fooProcType;
ModuleItemtwoProd
ModuleItemtwoProdData: TYPE = REF ModuleItemtwoProdDataBody;
ModuleItemtwoProdDataBody: TYPE = RECORD[
idrecord: idNode, idtype: idNode];
ModuleItemtwoProdProcs: ModuleItemNodeProcs;
BuildModuleItemtwoProdNode: PROC[position: INT, length: INT, idrecord: idNode, idtype: idNode]
RETURNS[ModuleItemNode];
ModuleItemtwoProdfoo: fooProcType;
SharesabsentProd
SharesabsentProdData: TYPE = REF SharesabsentProdDataBody;
SharesabsentProdDataBody: TYPE = RECORD[
];
SharesabsentProdProcs: SharesNodeProcs;
BuildSharesabsentProdNode: PROC[position: INT, length: INT]
RETURNS[SharesNode];
SharesabsentProdfoo: fooProcType;
SharespresentProd
SharespresentProdData: TYPE = REF SharespresentProdDataBody;
SharespresentProdDataBody: TYPE = RECORD[
IdList: IdListNode];
SharespresentProdProcs: SharesNodeProcs;
BuildSharespresentProdNode: PROC[position: INT, length: INT, IdList: IdListNode]
RETURNS[SharesNode];
SharespresentProdfoo: fooProcType;
LocksabsentProd
LocksabsentProdData: TYPE = REF LocksabsentProdDataBody;
LocksabsentProdDataBody: TYPE = RECORD[
];
LocksabsentProdProcs: LocksNodeProcs;
BuildLocksabsentProdNode: PROC[position: INT, length: INT]
RETURNS[LocksNode];
LocksabsentProdfoo: fooProcType;
LockspresentProd
LockspresentProdData: TYPE = REF LockspresentProdDataBody;
LockspresentProdDataBody: TYPE = RECORD[
Exp: ExpNode, Lambda: LambdaNode];
LockspresentProdProcs: LocksNodeProcs;
BuildLockspresentProdNode: PROC[position: INT, length: INT, Exp: ExpNode, Lambda: LambdaNode]
RETURNS[LocksNode];
LockspresentProdfoo: fooProcType;
LambdaabsentProd
LambdaabsentProdData: TYPE = REF LambdaabsentProdDataBody;
LambdaabsentProdDataBody: TYPE = RECORD[
];
LambdaabsentProdProcs: LambdaNodeProcs;
BuildLambdaabsentProdNode: PROC[position: INT, length: INT]
RETURNS[LambdaNode];
LambdaabsentProdfoo: fooProcType;
LambdapresentProd
LambdapresentProdData: TYPE = REF LambdapresentProdDataBody;
LambdapresentProdDataBody: TYPE = RECORD[
Ident: IdentNode, TypeExp: TypeExpNode];
LambdapresentProdProcs: LambdaNodeProcs;
BuildLambdapresentProdNode: PROC[position: INT, length: INT, Ident: IdentNode, TypeExp: TypeExpNode]
RETURNS[LambdaNode];
LambdapresentProdfoo: fooProcType;
END..