DIRECTORY CedarBaseContext, SaffronAG4Def, CedarBaseMisc, CedarBaseTypeAux, ThreeC4Support, SaffronATDef, CedarBaseType; SaffronNewScopeImpl: CEDAR PROGRAM IMPORTS CedarBaseContext, CedarBaseMisc, CedarBaseTypeAux, ThreeC4Support, CedarBaseType EXPORTS SaffronAG4Def= BEGIN OPEN CedarBaseContext, SaffronAG4Def, CedarBaseMisc, CedarBaseTypeAux, ThreeC4Support, SaffronATDef, CedarBaseType; ScopeProdNewScope: PUBLIC PROC[ref: REF ANY, ribContext: RibContext, typeGraph: TypeGraph] RETURNS[temp0: ContextTree, temp1: TypeGraph] = BEGIN tree: ScopeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: ScopeProdData _ NARROW[tree.data]; BEGIN contextTree: ContextTree; nestedContexts: ContextTreeList; junk1: BOOLEAN; junk: BOOLEAN; newRibContext: RibContext; localContext3: LocalContext; typeGraph3: TypeGraph; localContext2: LocalContext; typeGraph2: TypeGraph; localContext1: LocalContext; typeGraph1: TypeGraph; localContext: LocalContext; localContext _ CreateLocalContext[]; [localContext1, typeGraph1] _ treeData.OptDecList.procs.PreprocessDecls[treeData.OptDecList, localContext, typeGraph]; [localContext2, typeGraph2] _ treeData.OptDecList.procs.ProcessDecls[treeData.OptDecList, localContext1, ribContext, typeGraph1]; [localContext3, typeGraph3] _ FetchAllSizes[typeGraph2, localContext2, ribContext]; newRibContext _ ExtendRibContext[ribContext, localContext3]; junk _ PrintLocalContext[localContext3, Output[]]; junk1 _ PrintTypeGraph[typeGraph3, Output[]]; nestedContexts _ BuildEmptyContextTreeList[]; contextTree _ BuildContextTree[newRibContext, nestedContexts]; temp1 _ typeGraph3; temp0 _ contextTree; END; END END; END.. ÔSaffronNewScopeImpl.mesa Copyright Ó 1987 by Xerox Corporation. All rights reserved. Generated by BJackson.pa at April 27, 1987 11:24:14 pm PDT using ThreeCasabaFour [1.1] of April 14, 1987 6:34:07 pm PDT ÊY˜šœ™Jšœ<™J˜J˜Jšœ˜Jš˜Jšœ˜J˜Jšœ˜J˜—…—ĤÓ