-- SaffronAG9Impl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by hederman.pa at August 17, 1987 4:33:19 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG9Def, SaffronGenericDef, SaffronATDef; SaffronAG9Impl: CEDAR PROGRAM IMPORTS SaffronAG9Def EXPORTS SaffronAG9Def= BEGIN OPEN SaffronAG9Def, SaffronGenericDef, SaffronATDef; -- ModulePimplProd ModulePimplProdProcs: PUBLIC ModulePNodeProcs _ NEW[ModulePNodeProcsBody _ [ModulePimplProdMakeEnvironment, ModulePimplProdExplore]]; 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 _ [ModulePdefProdMakeEnvironment, ModulePdefProdExplore]]; 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 _ [DirectoryemptyProdProcessDirectoryClause, DirectoryemptyProdExploreDirectoryClause]]; BuildDirectoryemptyProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[DirectoryNode] = BEGIN RETURN[NEW[DirectoryNodeBody_[position, length, DirectoryemptyProdProcs, NIL]]]; END; -- DirectorymoreProd DirectorymoreProdProcs: PUBLIC DirectoryNodeProcs _ NEW[DirectoryNodeProcsBody _ [DirectorymoreProdProcessDirectoryClause, DirectorymoreProdExploreDirectoryClause]]; 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 _ [IncludeItemfrompProdProcessDirectoryClause, IncludeItemfrompProdExploreDirectoryClause]]; 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 _ [IncludeItemtypeProdProcessDirectoryClause, IncludeItemtypeProdExploreDirectoryClause]]; 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 _ [IncludeItemplainProdProcessDirectoryClause, IncludeItemplainProdExploreDirectoryClause]]; 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 _ [IncludeItemtypeandidProdProcessDirectoryClause, IncludeItemtypeandidProdExploreDirectoryClause]]; 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 _ [UsingrestrictedProdMakeInterfaceTGN]]; 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 _ [UsingnothingProdMakeInterfaceTGN]]; BuildUsingnothingProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[UsingNode] = BEGIN RETURN[NEW[UsingNodeBody_[position, length, UsingnothingProdProcs, NIL]]]; END; -- UsingunrestrictedProd UsingunrestrictedProdProcs: PUBLIC UsingNodeProcs _ NEW[UsingNodeProcsBody _ [UsingunrestrictedProdMakeInterfaceTGN]]; BuildUsingunrestrictedProdNode: PUBLIC PROC[position: INT, length: INT] RETURNS[UsingNode] = BEGIN RETURN[NEW[UsingNodeBody_[position, length, UsingunrestrictedProdProcs, NIL]]]; END; -- DefBodyProd DefBodyProdProcs: PUBLIC DefBodyNodeProcs _ NEW[DefBodyNodeProcsBody _ [DefBodyProdMakeContextTree, DefBodyProdMakeContextTree1]]; 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..