-- SaffronAG9Def.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 2:46:11 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; -- 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; -- DirectoryemptyProd DirectoryemptyProdData: TYPE = REF DirectoryemptyProdDataBody; DirectoryemptyProdDataBody: TYPE = RECORD[ ]; DirectoryemptyProdProcs: DirectoryNodeProcs; BuildDirectoryemptyProdNode: PROC[position: INT, length: INT] RETURNS[DirectoryNode]; DirectoryemptyProdProcessDirectoryClause: ProcessDirectoryClauseProcType; -- 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; -- IncludeItemProd IncludeItemProdData: TYPE = REF IncludeItemProdDataBody; IncludeItemProdDataBody: TYPE = RECORD[ Idlocal: IdNode, IdOrString: IdOrStringNode, IdmoduleName: IdNode, Using: UsingNode]; IncludeItemProdProcs: IncludeItemNodeProcs; BuildIncludeItemProdNode: PROC[position: INT, length: INT, Idlocal: IdNode, IdOrString: IdOrStringNode, IdmoduleName: IdNode, Using: UsingNode] RETURNS[IncludeItemNode]; IncludeItemProdProcessDirectoryItem: ProcessDirectoryItemProcType; --IdOrString IdOrStringNode: TYPE = REF IdOrStringNodeBody; IdOrStringNodeBody: TYPE = RECORD[ position: INT, length: INT, procs: IdOrStringNodeProcs, data: REF ANY]; IdOrStringNodeProcs: TYPE = REF IdOrStringNodeProcsBody; IdOrStringNodeProcsBody: TYPE = RECORD[ RopeFromIdOrString: RopeFromIdOrStringProcType]; -- IdOrStringidProd IdOrStringidProdData: TYPE = REF IdOrStringidProdDataBody; IdOrStringidProdDataBody: TYPE = RECORD[ Id: IdNode]; IdOrStringidProdProcs: IdOrStringNodeProcs; BuildIdOrStringidProdNode: PROC[position: INT, length: INT, Id: IdNode] RETURNS[IdOrStringNode]; IdOrStringidProdRopeFromIdOrString: RopeFromIdOrStringProcType; -- IdOrStringstringProd IdOrStringstringProdData: TYPE = REF IdOrStringstringProdDataBody; IdOrStringstringProdDataBody: TYPE = RECORD[ String: StringNode]; IdOrStringstringProdProcs: IdOrStringNodeProcs; BuildIdOrStringstringProdNode: PROC[position: INT, length: INT, String: StringNode] RETURNS[IdOrStringNode]; IdOrStringstringProdRopeFromIdOrString: RopeFromIdOrStringProcType; -- UsingrestrictedProd UsingrestrictedProdData: TYPE = REF UsingrestrictedProdDataBody; UsingrestrictedProdDataBody: TYPE = RECORD[ IdList: IdListNode]; UsingrestrictedProdProcs: UsingNodeProcs; BuildUsingrestrictedProdNode: PROC[position: INT, length: INT, IdList: IdListNode] RETURNS[UsingNode]; UsingrestrictedProdRestrictNamedTGN: RestrictNamedTGNProcType; -- UsingnothingProd UsingnothingProdData: TYPE = REF UsingnothingProdDataBody; UsingnothingProdDataBody: TYPE = RECORD[ ]; UsingnothingProdProcs: UsingNodeProcs; BuildUsingnothingProdNode: PROC[position: INT, length: INT] RETURNS[UsingNode]; UsingnothingProdRestrictNamedTGN: RestrictNamedTGNProcType; -- UsingunrestrictedProd UsingunrestrictedProdData: TYPE = REF UsingunrestrictedProdDataBody; UsingunrestrictedProdDataBody: TYPE = RECORD[ ]; UsingunrestrictedProdProcs: UsingNodeProcs; BuildUsingunrestrictedProdNode: PROC[position: INT, length: INT] RETURNS[UsingNode]; UsingunrestrictedProdRestrictNamedTGN: RestrictNamedTGNProcType; -- 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; -- 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]; DefHeadProdGetAccessVal: GetAccessValProcType; DefHeadProdBuildInterfaceTGN: BuildInterfaceTGNProcType; -- CedaryesProd CedaryesProdData: TYPE = REF CedaryesProdDataBody; CedaryesProdDataBody: TYPE = RECORD[ ]; CedaryesProdProcs: CedarNodeProcs; BuildCedaryesProdNode: PROC[position: INT, length: INT] RETURNS[CedarNode]; CedaryesProdIsKeywordPresent: IsKeywordPresentProcType; -- CedarnoProd CedarnoProdData: TYPE = REF CedarnoProdDataBody; CedarnoProdDataBody: TYPE = RECORD[ ]; CedarnoProdProcs: CedarNodeProcs; BuildCedarnoProdNode: PROC[position: INT, length: INT] RETURNS[CedarNode]; CedarnoProdIsKeywordPresent: IsKeywordPresentProcType; -- 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]; ProgHeadProdGetAccessVal: GetAccessValProcType; ProgHeadProdBuildImplementationTGN: BuildImplementationTGNProcType; -- 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..