-- SaffronAG9Def.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 4:33:20 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronTreeDeclsDef, SaffronGenericDef, SaffronATDef; SaffronAG9Def: CEDAR DEFINITIONS = BEGIN OPEN SaffronTreeDeclsDef, 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]; ModulePimplProdMakeEnvironment: MakeEnvironmentProcType; ModulePimplProdExplore: ExploreProcType; -- 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]; ModulePdefProdMakeEnvironment: MakeEnvironmentProcType; ModulePdefProdExplore: ExploreProcType; -- DirectoryemptyProd DirectoryemptyProdData: TYPE = REF DirectoryemptyProdDataBody; DirectoryemptyProdDataBody: TYPE = RECORD[ ]; DirectoryemptyProdProcs: DirectoryNodeProcs; BuildDirectoryemptyProdNode: PROC[position: INT, length: INT] RETURNS[DirectoryNode]; DirectoryemptyProdProcessDirectoryClause: ProcessDirectoryClauseProcType; DirectoryemptyProdExploreDirectoryClause: ExploreDirectoryClauseProcType; -- 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]; DirectorymoreProdProcessDirectoryClause: ProcessDirectoryClauseProcType; DirectorymoreProdExploreDirectoryClause: ExploreDirectoryClauseProcType; -- 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]; IncludeItemfrompProdProcessDirectoryClause: ProcessDirectoryClauseProcType; IncludeItemfrompProdExploreDirectoryClause: ExploreDirectoryClauseProcType; -- 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]; IncludeItemtypeProdProcessDirectoryClause: ProcessDirectoryClauseProcType; IncludeItemtypeProdExploreDirectoryClause: ExploreDirectoryClauseProcType; -- 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]; IncludeItemplainProdProcessDirectoryClause: ProcessDirectoryClauseProcType; IncludeItemplainProdExploreDirectoryClause: ExploreDirectoryClauseProcType; -- 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]; IncludeItemtypeandidProdProcessDirectoryClause: ProcessDirectoryClauseProcType; IncludeItemtypeandidProdExploreDirectoryClause: ExploreDirectoryClauseProcType; -- UsingrestrictedProd UsingrestrictedProdData: TYPE = REF UsingrestrictedProdDataBody; UsingrestrictedProdDataBody: TYPE = RECORD[ IdList: IdListNode]; UsingrestrictedProdProcs: UsingNodeProcs; BuildUsingrestrictedProdNode: PROC[position: INT, length: INT, IdList: IdListNode] RETURNS[UsingNode]; UsingrestrictedProdMakeInterfaceTGN: MakeInterfaceTGNProcType; -- UsingnothingProd UsingnothingProdData: TYPE = REF UsingnothingProdDataBody; UsingnothingProdDataBody: TYPE = RECORD[ ]; UsingnothingProdProcs: UsingNodeProcs; BuildUsingnothingProdNode: PROC[position: INT, length: INT] RETURNS[UsingNode]; UsingnothingProdMakeInterfaceTGN: MakeInterfaceTGNProcType; -- UsingunrestrictedProd UsingunrestrictedProdData: TYPE = REF UsingunrestrictedProdDataBody; UsingunrestrictedProdDataBody: TYPE = RECORD[ ]; UsingunrestrictedProdProcs: UsingNodeProcs; BuildUsingunrestrictedProdNode: PROC[position: INT, length: INT] RETURNS[UsingNode]; UsingunrestrictedProdMakeInterfaceTGN: MakeInterfaceTGNProcType; -- 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]; DefBodyProdMakeContextTree: MakeContextTreeProcType; DefBodyProdMakeContextTree1: MakeContextTree1ProcType; -- 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..